请编写函数fun,该函数的功能是,统计一行字符串中单词的个数,作为函数值返回,字符串在主函数输入,规定所有单词由小写字母组成,单词之间若干个空格隔开,一行的开始没有空格<难度系数⭐>
源代码:
int fun(char* s)
{
int i,sum=0;
for (i = 0; s[i] != '\0'; i++)
{
//how判断一个单词?
//
//1.判断单词的最后一个字母不为空,下一个字母为空
//2.特殊的是最后一个单词末尾'\0'
if (s[i]!=' '&&(s[i+1]==' '||s[i + 1] == '\0'))
sum++;
}
return sum;
}
int main()
{
int sum;
char s[] = { "sdfds sfa sfa sfa sdf afae eawet" };
sum=fun(s);
printf("字符串一共有%d个单词", sum);
}
运行结果:![在这里插入图片描述](https://img-blog.csdnimg.cn/a15ce0d40f904fc0b934ae94aab3da2d.png)
总结:
在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。
空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。