我有这个:
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
|------|------|--------
你能告诉我发生了什么吗?
答案 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]
表示该偏移量中数组的值