#include<stdio.h>写博客
#define MAX 100 //MAX根据需要自己定
int main(){
int i, n, flag;
char s[MAX];
gets(s); //因为字符串中包含空格,不可用scanf,所以用gets读(也可自己写getline函数)
flag = n = 0; //flag为0表示在单词外部,为1表示在单词内部
for (i = 0; s[i]; i++) {
if (s[i] == ' ')
flag = 0; //读到空格标记在单词外
else if (!flag) { //找到字母且上次在单词外
n++;
flag = 1; //进入后则将flag赋值为1,标记为再单词内
}
}
printf("the number of words is %d", n);
return 0;
}
getline函数详解:https://blog.csdn.net/qq_45472866/article/details/104045610
gets和scanf区别详解:https://blog.csdn.net/tjy199610_10/article/details/78650839