中級 › 多次元配列で行と列の添字を取り違えて違う値を読む › パターン2
多次元配列で行と列の添字を取り違えて違う値を読む
arr[row][col]とarr[col][row]は多くの場合どちらもコンパイルは通り実行もできますが、正方でない配列では違う位置の値を読んでしまいます。
1 #include <stdio.h> 2 3 int main(void) { 4 int table[3][3] = {{10, 20, 30}, {40, 50, 60}, {70, 80, 90}}; 5 int row = 1, col = 0; 6 printf("%d\n", table[________]); ^ 7 return 0; 8 }
出力: 20期待: 40
空欄を埋めてコンパイル・実行を通す
行と列のどちらを先に書くかは、配列を宣言したときの次元の順序と揃える必要があります。
次の問題