【发布时间】:2012-03-13 19:39:50
【问题描述】:
我正在尝试编写一个简单的程序,它使用 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=1开始,而不是k=0。 -
为什么要在
scanf调用中添加换行符?