输入一行句子,统计其中单词的个数
gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
/*
* 输入一句话,统计其中的单词个数,单词之前使用空格隔开
*/
#include <stdio.h>
void main()
{
char sentence[1024]={'\0'};
int isSpace=1;
int i=0;
int wordCount=0;
printf("please input a sentence (length < 1024)!\n");
gets(sentence);
for( ;'\0' != sentence[i];i++)
{
if(' '== sentence[i])
isSpace=1;
else if(isSpace == 1)
{
isSpace=0;
wordCount++;
}
}
printf("wordCount is:%d\n",wordCount);
}