求一个用C语言计算一串字符有几个单词加详细注释的
1个回答
展开全部
#include<stdio.h>
int main(void){
int n = 0;
int status = 0; //这里用status来表示*p当前的状态也就是0和1来表示0表示当前*p处
//于空格状态1处于字符状态
char s[] = " hello hello hello hello";
char *p = s;//将s数组的首地址赋给p
while(*p != '\0'){//由于‘\0’就是一个字符串的结尾了我们就在结尾结束循环
if(*p != ' ' && status == 0){// 当当前的字符不是空格同时字符状态处于空格
//(意味着此时的字符刚刚遇到一个不是空格的字符(同时意味着一个单词刚刚开始))
n++;//单词个数+1
}
if(*p != ' '){//当当前字符不是空格时立马更新字符状态为1
status = 1;
}else if(*p == ' '){//更新为0
status = 0;
}
p++;
}
printf("单词个数为%d", n);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询