题目:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开.
程序如下:
#include<stdio.h>
#include<string.h>
main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c=='')
word=0;
else if(word==0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
puts(string);
getch();
}
注:num用来统计单词个数,word作为判别是否单词的标志,若word=0,表示未出现单词,如出现单词word就置1.
运行情况:
i have a dog.
There are 1 words in the line.
感到郁闷,我明明输入了四个单词,怎么结果显示只有一个单词呢?我检查了算法,语法都没有错,请大虾帮我分析一下错误在哪里,谢谢!