不在阵列上

时间:2017-10-10 11:55:16

标签: c

我有这个:

char board_game [3][3] = {0}; // The Board Game

在此之后,我正在这样做:

scanf("%d%d", &row, &col); // Get The Input And Put It In Row And Column
printf("%d",board_game[row][col]);

有一些我不明白的输出,这行是什么意思board_game[row][col]

|    input    | output
| row  | col  |
|______|______|________
|   0  |   0  |   0
|------|------|--------
|   0  |   1  |   0
|------|------|--------
|   0  |   2  |   0
|------|------|--------
|   0  |   3  |   0
|------|------|--------
|   1  |   0  |   0
|------|------|--------
|   1  |   1  |   0
|------|------|--------
|   1  |   2  |   0
|------|------|--------
|   1  |   3  |   0
|------|------|--------
|   2  |   0  |   0
|------|------|--------
|   2  |   1  |   0
|------|------|--------
|   2  |   2  |   0
|------|------|--------
|   2  |   3  |   1     **WHY 1?**
|------|------|--------
|   3  |   0  |   1     **WHY 1?**
|------|------|--------
|   3  |   1  |   0
|------|------|--------
|   3  |   2  |   0
|------|------|--------
|   3  |   3  |   0
|------|------|--------

你能告诉我发生了什么吗?

2 个答案:

答案 0 :(得分:0)

您正在尝试访问不属于您的阵列的内存位置。定义大小为3的数组时,索引为0,1,2。价值棋盘游戏[0] [3],棋盘游戏[1] [3],棋盘游戏[2] [3],棋盘游戏[3] [0],棋盘游戏[3] [1],棋盘游戏[ 3] [2],棋盘游戏[3] [3]超出界限

答案 1 :(得分:0)

当索引只能在0..2之间时,它是Out Of Bound和undefined(offsets:3,3 | 3,0)

你在开始时向所有数组值

声明了0

board_game[row][col]表示该偏移量中数组的值