例6.12输入一行字符,统计其中有多少个单词,单词之间用空格符隔开。
#include<stdio.h>
int main(){
char c;
int word=0,lastchar=1; //引入状态变量lastcahr,1表示空格,0表示字母 (1,0只是起到区别作用)
printf("请输入一行字符:\n");
while((c=getchar())!='\n'){//循环输入并处理一行字符
if(c==' ') //如果为空格
lastchar=1; //标记变量为空格状态
else{
if(lastchar){ //如果lastchar=1,表示一个新单词的开始
word++; //单词记数
lastchar=0; //标记变量为字母状态
//否则为单词的非首字母,不予处理
}
}
}
printf("共有%d个单词.\n",word);
return 0;
}