输入一行字符,统计其中有多少个单词。
#include <stdio.h>
#include <string.h>
//如果测出某一个字符为非空格,而它前面的字符是空格,则表示新单词开始了,
int main(void)
{
char buf1[100]={0};
printf("输入要检测有多少个单词的字符串\n");
gets(buf1);
int count =0;
char *p =buf1;
if(*p != 0) //先判断输入的第一个是不是空 ,如果不是计数器++ 指针偏移1
{
count++;
p++;
}
while(*p!='\0')
{
if(*p!=' ' && *(p-1)==' ')//空格的ASII是32 ,这里可以写数字32 或者' ' 空字符
{ // 条件:当前不为空格,且当前的前一个是空格。
count++;
}
p++;
}
printf("You Send %d Word",count);
return count;
}