请补充函数fun(),该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> void fun(char *s) { int i=0; char *p=s; while( 【1】 ) { if (*p>=’a’&&*p<=’z’) { s[i]=*p; 【2】 ; } p++; } s[i]= 【3】 ; } main() { char str[80]; clrscr(); printf("\nEnter a string:"); gets(str); printf("\n\nThe string is:\%s\n",str); fun(str); printf("\n\nThe string of changingis:\%s\n",str); }
参考答案:[1] *p [2] i++ [3] ’\0’
解析: 填空1:while循环的循环条件是指针p所指的字符不是’\0’,也就是说,当处理到字符串最后的结束标记字符 ’\0’时,while循环结束。填空2:如果指针p所指的字符为小写字母,则将这个字符存于原字符串s中,同时,下标自加1,为下一次存放做准备。填空3:在取出所有小写字母并存于原字符串s后,要注意在最后加上字符串结束标志符’\0’。