问答题
1. 编写函数fun(),其功能是:求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串为123412132,输入字符为1,则输出3。
注意:部分源程序如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define M 81
int fun(char*ss,char c)
{
}
void main()
char a[M],ch;
system("CLS");
printf("\n Please enter a string:");
gets(a);
printf("\nPlease enter a char:");
ch=getchar();
printf("\nThe number of the char is:%d\n",fun (a,ch));
}
【正确答案】int fun(char*ss,char c)
{
int i=0;
for(; *ss!='\0'; ss++)
if(*ss==c)
i++; //求出ss所指字符串中指定字符的个数
return i;
}
【答案解析】 此题考查用for循环遍历字符串和通过条件表达式*ss!='\0'来判断字符串是否结束。给字符串加上结束标识'\0',通过for循环遍历字符串中的每一个字符,在遇到结束标识前,如果遇到指定(即用户输入)字符,变量i加1,最后将变量i返回,即用户输入字符在字符串中出现的次数。