解题思路
‘\0’ 是字符串的结束符,任何字符串之后都会自动加上’\0’。初始时定义一个有100个char型字符储存空间的数组,使用gets()函数输入一行字符串,储存在前面定义的数组中。之后由于不清楚数组里有多少个字符被占用,所以使用while循环,只要当前数组元素不是’\0’就执行循环内容。定义一个word变量,初始化为1。如果当前字符为空格,那么word为=0,如果当前字符不为空格且word为0,那么就说明当前是单词的第一个字母,word = 1,count++。
代码如下
#include <stdio.h>
int main()
{
char chs[100];
int i = 0;
int count = 0;
int word = 0;
gets(chs);
while(chs[i] != '\0')
{
if(chs[i] == ' ')
word = 0;
else if(word == 0)
{
word = 1;
count++;
}
i++;
}
printf("%d\n",count);
return 0;
}