我正在尝试编写一个简单的程序,该程序使用 scanf 从用户输入 5 个数字并将它们相加。这是我到目前为止的代码..
int main()
{
int i;
int j=1;
int k=1;
for (i=1; i<= 5; i++)
{
scanf("%d\n", &j);
k = k+j;
}
printf("%d\n", k);
}
但这是我运行程序时发生的情况:
1
2
3
4
5
5
16
基本上,它会要求我输入第六个数字(显然,我只需要 5),它还会在最终结果中加一。 (1+2+3+4+5=15)。
对此有任何想法。我是不是在某个地方犯了一个简单的错误?
最佳答案
正如其他人所说,您正在错误地初始化 k
,但我怀疑导致您出现问题的原因是您正在使用 scanf("%d\n", &j);
而不是 scanf("%d", &j);
。 scanf()
忽略导致匹配的空白。
关于c - 添加来自用户的数字的简单程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690864/