求大佬帮我看看C语言程序哪里出错了?

#include<stdio.h>intmain(){charstr[20];intlen=0,i=0,digit=0,letter=0,blank=0,other=0;... #include<stdio.h>
int main()
{
char str[20];
int len=0,i=0,digit=0,letter=0,blank=0,other=0;
gets(str);
while(str[i]!=0)
{
if(str[i]>='0'&&str[i]<='9')
digit++;
else if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
letter++;
else if(str[i]=' ')
blank++;
else
other++;
i++;
}
printf("The digit=%d,letter=%d;blank=%d,other=%d",digit,letter,blank,other);
}求解答,blank数目多了一个,other数目少了一个?
展开
 我来答
听不清啊
高粉答主

2019-11-18 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
#include<stdio.h>
int main()
{ char str[20];
int len=0,i=0,digit=0,letter=0,blank=0,other=0;
gets(str);
while(str[i]!=0)
{ if(str[i]>='0'&&str[i]<='9')
digit++;
else if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
letter++;
else if(str[i]==' ') //此行有更改
blank++;
else
other++;
i++;
}
printf("The digit=%d,letter=%d;blank=%d,other=%d",digit,letter,blank,other);
}
匿名用户
2019-11-18
展开全部
初学者最容易犯错的地方
else if(str[i]=' ') <----------------

相等 得用 两个 == 赋值 才是一个 =
追问
谢谢!
追答
调试程序需要耐心
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式