A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我想循环在控制台输入数字,然后输出和之前输入的数字之和。但现在输好第一遍之后,就开始无限循环,是为什么?


#include <stdio.h>

int main(){
int i = 0;
char a = 0;
int sum = 0;

for ( ; ; ){
printf ("input a number\n");
scanf ("%d",&i);

sum += i;
printf ("the number is %d\n",sum);

printf ("wanna continue? Y / N\n");
scanf ("%d",&a);
if (a == 'n'){
break;
}
}
return 0;
}
更多 0

2 个回复

倒序浏览
taolove 来自手机 中级黑马 2015-6-2 09:05:07
沙发
for语句没有结束条件吧!
回复 使用道具 举报
我想问一下,scanf ("%d",&a);a为字符类型,而以%d接收是否是正确的。因为我看到了这一点,但是,我只是有点模糊印象,不是很精确,你可以试试换%c。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马