c语言一个简单的程序有点问题

我检查了几下,发现下面这个程序中,while下面那个printf不能输出b了,下面的for,也不能用到b,就好像下面的语句被忽略了一样,这是怎么回事?#include<s... 我检查了几下,发现下面这个程序中,while下面那个printf不能输出b了,下面的for,也不能用到b,就好像下面的语句被忽略了一样,这是怎么回事?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int a,b=0;
char c[100];
do
{
scanf("%c",&a);
c[b]=a;
b=b+1;
printf("%d",b);
}while(a!='\n');
printf("%d",b);
for(int i=b-1;i>0;i--)
{
printf("%c",c[i]);
}

}
展开
 我来答
千锋教育
2015-11-28 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
scanf 可以接收不同形势的输入,数字,字符,字符串等,但不接受空白符,回车符,所以a不可能为回车符,因此程序陷入死循环,可以使用getchar(),它可以接受回车、换行等字符。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式