统计单词个数的一道题,竟然很多人找不到错误。
今天翻了C语言书,发现了一道题,自己做了下,没解出来。题目是这样的,输入一行字符,统计其中有多少个单词,单词间用空格分开。
书上的程序是这样的:
#include<stdio.h>
main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for (i=0;(c=string[i])!='\n';i++)
if(c==' ') word=0;
else if(word==0)
{
word=1;
num++;
}
printf("there are %d words.\n",num);
}
但是当我输入I AM A BOY 时竟然输出结果是:there are 6 words.
不明白怎么会输出这个结果,我也找不到程序有错误的,哪位帮忙指点一下。THX