填空题 请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。 例如,输入“abcdef”,输出“ace”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #inc lude< stdio, h> #define N 80 {{U}} 【1】 {{/U}} { int i, j; {{U}} 【2】 {{/U}} for (i=0;i<n;i++) { if (s [i] %2!=0) s [j++]=s [i]; } {{U}} 【3】 {{/U}}; } main ( ) { int i=0, strlen=0; char str[N]; clrscr (); printf ("/nInput a string:/n"); gets (str); while (str [i] !=' /0' ) { strlen++; i++; } fun (str, strlen); printf("/n*** display string ***/n"); puts (str); }
  • 1、
【正确答案】 1、[1]void fun(char s[],int n)    
【答案解析】[2]j=0 [3] s[j]='/0' [解析] 填空1:由主函数main()调用fun()函数的格式可以知道,fun()函数没有返回值,第二个参数是字符数组,第二个参数是整型变量。填空2:变量j声明时没有初始化,所以在使用j之前要将它初始化为0。填空3:当把所有ASCⅡ码为 偶数的字符都存入字符串s中后,要在最后加上‘/0’,表示字符串的结束。