私は次のように簡単な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]);
}
問題は、プログラムを実行するときに、このように i が 0 (1 ではない) のときに 2 つの値を入力する必要があることです。
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
3 ではなく 4 つの値を入力しなければならないのはなぜですか? また、2 を入力する前に i is 1 という文が表示されないのはなぜですか?