问题 问答题

请编写函数fun(),其功能是:将s所指字符串中下标为奇数的字符删除,串中剩余字符形成的新串放在t所指数组中。 例如,当s所指字符串中的内容为siegAHdied,则在t所指数组中的内容应是seAde。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> void fun(char*s,char t[]) { } main() { char s[100],t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s",s); fun(s,t); printf("\nThe result is:%s\n",t); }

答案

参考答案:

解析:void fun (char *S,char t[]) { int i,j=0,k=strlen(s); /*k为字符串的长度*/ for(i=0;i<k;i=i+2) /*将s所指字符串中下标为偶数的字符存入t所指字符串中*/ t[j++]=s[i]; t[j]=’\0’; /*在字符串最后加上结束标志*/ } 本题使用了一种i永远是偶数的循环方法,即for(i=0;i<k;i=i+2),因为开始时i的值为0,当i+2循环时,此值永远是偶数。

多项选择题
单项选择题