【发布时间】:2018-10-30 11:28:37
【问题描述】:
#include <stdio.h>
int main(void)
{
int marks[10];
int i;
for (i=0; i < 10; i++)
{
scanf("%d ", &marks[i]);
}
printf("\n");
for (i=0; i <= 9; i++)
{
printf("%d\n", marks[i]);
}
return 0;
}
显然,第一个循环条件应该只运行 10 次,但它要求我输入第 11 个值。有人知道吗?或者它只是 C 的许多奇怪行为之一?
在第二个循环中,它按我想要的方式工作!
【问题讨论】:
-
删除多余的空间:
scanf("%d ")==>scanf("%d") -
不要发布代码图片。只需将代码复制到问题中即可。
-
好吧,其实这是我第一次在stackoverflow发帖,请见谅。