填空题 下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。 例如:字符串中的数据为ADFESHDI,则输出应当是 AFESDI。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <conio.h> #include <stdio.h> #include <string.h> #define N 80 /************found*************/ void fun(char s,char t[]) { int i,j=0; for(i=0;i<strlen(s);i++) /*********found*+************/ if(i%2=0 || s[i]%2!=0) t[j++]=s[i]; t[j]='/0'; } main() { char s[N],t[N]; clrscr(); printf("/nPlease enter string s:"); gets(s); fun(s,t); printf("/nThe result is:%s/n",t); }
  • 1、
【正确答案】 1、(1)错误:void fun(char s,char t[]) 正确:void fun(char *s,char t[])    
【答案解析】(2)错误:if(i%2=0||s[i]%2!=0) 正确:if(i%2==0 || s[i]%2!=0) [解析]错误1:由于本题中函数的功能是对字符串进行处理,而不是对单个字符进行处理,因此,函数的参数应为字符串指针。错误2:if语句中要用关系运算符,而不是赋值运算符。