char c 代表什么?*ss==c是什么意思?怎么解释?

题目:编写函数fun,求ss所指字符串中指定字符的个数,并返回此值。
解答:
int fun(char* ss,char c)
{ int i=0
for(;*ss!=‘\0’;ss++)
if(*ss==c)
i++;
return i ;
}
问:char c代表了什么?*ss==c是什么意思?怎么解释?

写程序或抄程序的人是个粗心的人,括号和分号全写成大写的,int i=0后面还忘了分号,这在编译时会报很多错,而且编译不过,要注意啊。注释如下:
int fun(char* ss,char c) //函数的两个参数,一个是字符串的起始地址ss,
//一个是字符c,char c表示参数c为字符型变量。
{int i=0;
for(;*ss!=‘\0’;ss++) //逐步检测字符直到字符串结束为止
if(*ss==c) //如果字符等于函数的第二个参数,就是要查找的字符
i++; //计数器增加1
return i; //让函数返回符合条件的个数。
}

其中,char c 是声明c是一个字符型的变量,*ss==c的意思是ss这个地址指向的值等于c的值,这是一个比较表达式,当两者相同时,表达式为真,两者不同时,表达式为假。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-08
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(char *ss, char c)
{
int i = 0;
for( ;*ss!='\0'; ss++)
if(*ss == c)
{
i++;
}
return i;
}
int main()
{
printf("%d\n", fun("abbcd", 'b'));
return 0;
}

看我给你的程序,char c 就代表字母 'b'
*ss == c 就是 判断是否相等的意思
也就是从字符串"abbcd" 中的a开始一直到d,看看有几个字母b,打印输出2

如果你输入的字符串为"abbbbbc”, 那个匹配字母b的有5个,打印输出5

明白了么?
第2个回答  2012-08-08
程序有点乱!
相似回答