【发布时间】:2021-06-05 08:47:30
【问题描述】:
我正在尝试对一些整数求和,当我按下“=”时,循环将终止并打印这些值的总和。我想在按相等之前给一个空间。
#include <stdio.h>
int main()
{
int a, sum = 0;
char b;
while (1) {
scanf("%d", &a);
scanf(" %c", &b);
sum += a;
if(b == '=')
break;
}
printf("sum = %d", sum);
return 0;
}
【问题讨论】:
-
您的问题是什么?按'='时它不会跳出循环吗?
-
不,问题是如果我输入 1 2 3 4 它会给我 sum= 7
-
您在循环中执行了两次 scanf,这就是原因。
-
你需要学会调试你的代码。使用调试器单步执行,或在每次迭代中打印出变量。
-
这真的与循环无关。
标签: c loops if-statement char