C で簡単なプログラムを作成しました。
#include <stdio.h>
main(){
int a[20], b[20];
int n, i;
printf("Enter a number: ");
scanf("%d", &n);
for(int j=0; j<n; j++){
printf("Enter a number for a[%d]: ", j);
scanf("%d", a[j]);
printf("\n");
}
}
このコードはコンパイルされますが、実行中にn
が 2 より大きく、配列に 2 番目の数値を入力するとクラッシュが発生しました。
なぜクラッシュしたのか理解できません。説明してください。