我写了一个简单的c代码如下
#include<stdio.h>
void main()
{
int a[3];
int i;
for(i=0;i<=2;i++)
{
printf("i is %d\n",i);
scanf("%d ",&a[i]);
}
for(i=0;i<=2;i++)
printf("a[%d] is %d\n",i,a[i]);
}
问题是当我运行程序时,当我为 0(不是一个)时,我必须输入两个值,就像这样
i is 0
1
2
i is 1
3
i is 2
4
即使输出是正确的,即
a[0] is 1
a[1] is 2
a[2] is 3
为什么我必须输入 4 个值而不是 3,为什么语句 i is 1 不在我输入 2 之前出现?