float a[3][5]; // 3 行 5 列
// 輸入時
for (i=0; i<5; i++)
for (j=0; j<3; j++)
scanf("%f", &a[i][j]); // 實際訪問 a[5][3] → 越界
// 統計時
for (i=0; i<3; i++)
for (j=0; j<5; j++)
aver[i] += a[j][i]; // 下標顛倒
a[3][5] 為 3 行 5 列,但輸入迴圈按 5 行 3 列寫入,導致寫入超出配置記憶體,破壞棧幀。a[j][i] 與定義不符,應為 a[i][j]。
#define ROWS 3
#define COLS 5
float a[ROWS][COLS];
// 輸入
for (i=0; i
嚴格區分行列語義,使用常數定義維度,避免硬編碼數字。