菜鸟请教

mangoleo 2008-07-10 10:31:29
为什么一下这个小小的程序不能结束?
题目:输入M个数到数组中,然后再由其求和,最后输出和的结果。
main()
{char b;
int sum=0,i=0,a[100];
scanf("%d",&a[0]);
scanf("%c",&b);
for (;b!='\r';)
{sum=a[i]+sum;
i++;
scanf("%d",&a[i]);
scanf("%c",&b);
}
printf("sum=%d\n",sum);
}

请那位高手帮忙解释一下?
另外,帮我看看这个程序有没有可改进的地方。
谢。
...全文
192 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
茻鄷 2008-07-14
  • 打赏
  • 举报
回复
b!=10 ¦ ¦ b!=13
mangoleo 2008-07-13
  • 打赏
  • 举报
回复
我再顶!
ps:楼上的你在问我吗?
pengzhixi 2008-07-13
  • 打赏
  • 举报
回复
首先你在输入m个数到数组里面要用一个循环才行啊
yuelin586 2008-07-13
  • 打赏
  • 举报
回复
关注一下!
mangoleo 2008-07-12
  • 打赏
  • 举报
回复
顶起来!
Jerrylearnc 2008-07-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 artman 的回复:]
b!='\r'
控制字符恐怕scanf不进来!
[/Quote]

为什么'\r' scanf不进来 而‘\n’就可以了?

谢谢
非常感谢
mangoleo 2008-07-11
  • 打赏
  • 举报
回复
可是为什么上面这个程序k!='\n'就可以运行呢?
mangoleo 2008-07-11
  • 打赏
  • 举报
回复
main()
{
float a,sum;
char k;
a=0;sum=0;
do
{
scanf("%f",&a);
sum=sum+a;
scanf("%c",&k);
}
while (k!='\n');
printf("sum=%f\n",sum);
}
aozhi 2008-07-10
  • 打赏
  • 举报
回复
如果你在UNIX上调试也许会行,PC没戏。
lunarfan 2008-07-10
  • 打赏
  • 举报
回复
把'/r'换成EOF试试
yyyapple 2008-07-10
  • 打赏
  • 举报
回复
b!=10 && b!=13
yyyapple 2008-07-10
  • 打赏
  • 举报
回复
b!=10 || b!=13
artman 2008-07-10
  • 打赏
  • 举报
回复
b!='\r'
控制字符恐怕scanf不进来!

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧