C语言求单词的个数

 我来答
韘衚傌鶜cc
2019-10-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:818万
展开全部
错误比较多,一一罗列一下:
1、判断相等用==,fun函数用if(flag=1)这句就用错了
2、for循环不加括号,值包含了第一个if判断的内容,而第二个if(s[i]=='
')这个就会在循环结束之后判断
3、循环中使用循环条件使用*s!='\0',这个s指针一直指向字符串的首地址,*s一直是首地址的值,所以会使的其变为死循环,修改为s[i]!='\0'
4、判断是否为一个单词不能只用s[i]=='
'来判断,如果两个单词直接有多个空格的话,就会多判断出单词数,所以修改为s[i]=='
'&&flag==0
5、最后一个单词后面没有空格的话,该程序会将最后一个单词漏掉,所以循环结束之后需要再判断flag是否为0,为0则说明有一个单词没有统计上,加上。
6、代码书写规范就不说了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孟沛槐慕敏
2019-06-10 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.1万
采纳率:29%
帮助的人:641万
展开全部
#include<stdio.h>
#include<string.h>
int
main()
{

char
string[1000];
int
number=1;
printf("从键盘输入一行字符,以空格分割单词,直到按回车键结束,统计其中的单词个数\n");
gets(string);
int
i=1;

while(string[i]!='\0')
{
if(string[i]=='
')
number++;
i++;
}
printf("单词个数为:%d\n",number);
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式