问答题 编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。注意:部分源程序在文件PROG1.C中。清勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> #include<string.h> #define M 81 int fun(char*ss,charc) { } main() { char a[M],ch; void NONO(); printf(“\nPlease enter a string:”);gets(a); printf(“\nPlease enter a char:”);ch=getchar(); printf(“\nThe number of the char is:%d\n”,fun(a,ch)); NONO(); } void NONO() {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i; FILE*rf,*wf; char a[M],h[M],ch; rf=fopen(“in.dat”,“r”); wf:fopen(“out.dat”,“w”); for(i=0;i<10;i++) { fscanf(rf,“%s”,a); fscanf(rf,“%s”,b); ch=*b: fprintf(wf,“%c=%d\n”,ch,fun(a,ch)); } fclose(rf); fclose(wf); }
【正确答案】正确答案:int fun(char*ss,char c) { int i=0: for(;*ss!=‘\0’;ss++) if(*ss==c) i++/*求出ss所指字符串中指定字符的个数*/ return i: }
【答案解析】解析:本题考查:for循环语句遍历字符串,并通过if条件语句,判断字符串是否结束。 从字符串中查找指定字符,需要使用循环判断结构,循环语句用来遍历字符串,循环条件为字符串没有结束,即当前字符不是‘\0’,判断语句用来判断当前字符是否为指定字符。最后返回指定字符的个数。