程序目的要输出一行文字的单词个数,我的代码为什么输出会是零?求解释,C语言刚学,各位多帮忙!

#include<stdio.h>intmain(){charstr[80];charc;intnum=0;intword=0;inti=0;scanffor(i=0;(... #include<stdio.h>
int main()
{
char str[80];
char c;
int num=0;
int word=0;
int i=0;
scanf
for(i=0;(c=str[i])!='\0';i++)
if(c==' ')word=0;
else if(c==' '){word=1;num++;}
printf("There are %d words in this line");
return 0;
}
那个...scanf打错了,,,是gets(str)...劳烦各位帮忙看下哈
展开
 我来答
百度网友080bafe
2011-12-12 · TA获得超过113个赞
知道答主
回答量:104
采纳率:0%
帮助的人:97.8万
展开全部
你这编译能通过?需要先输入啊,不然哪有个数
#include<stdio.h>
#include <string.h>
int main()
{
char str[80];
int num=0;
printf("Please input the word:");
gets(str);
num = strlen(str);
printf("There are %d chars in this line",num);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DDT_TJJ
2011-12-12
知道答主
回答量:4
采纳率:0%
帮助的人:6.3万
展开全部
你为什么要用for循环,直接while (str[i]!='\0'){ ....... ; i++ } 直接输出i就行了。 很久没碰c语言了,你试试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风刃云心
2011-12-12 · TA获得超过233个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:132万
展开全部
不知道是你打错了还是本来就写错了,scanf不能这么用啊亲

应该是
scanf("%s",&str);
更多追问追答
追问
我问题打错了= =不好意思~ 再帮忙看下帅哥~
追答
哦,还有,后面if语句里if 和else if 的条件怎么一样?
还有printf("There are %d words in this line",num);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式