思路:输入一段英文每次遇到空格单词数加一,为什么输出结果会是0
因为用scanf输入字符串,一遇到空格就停止了,输入的数据就只是第一个单词,又因为你的for循环从第一个字母开始,不会遇到空格,所以输出0。
修改代码:
#include<stdio.h>
#include<string.h>
int main()
{
char c[16];
gets(c);
int i, word=1;
for (i = 0; i < 16; i++)
{
if (c[i] == ' ')
word++;
}
printf("%d\n", word);
return 0;
}