程序目的要输出一行文字的单词个数,我的代码为什么输出会是零?求解释,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)...劳烦各位帮忙看下哈 展开
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)...劳烦各位帮忙看下哈 展开
3个回答
展开全部
你这编译能通过?需要先输入啊,不然哪有个数
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你为什么要用for循环,直接while (str[i]!='\0'){ ....... ; i++ } 直接输出i就行了。 很久没碰c语言了,你试试吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道是你打错了还是本来就写错了,scanf不能这么用啊亲
应该是
scanf("%s",&str);
应该是
scanf("%s",&str);
更多追问追答
追问
我问题打错了= =不好意思~ 再帮忙看下帅哥~
追答
哦,还有,后面if语句里if 和else if 的条件怎么一样?
还有printf("There are %d words in this line",num);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询