C++ 以C+格式发布二维数组的打印元素+;

C++ 以C+格式发布二维数组的打印元素+;,c++,arrays,C++,Arrays,我一直在调试一些代码,并已将我的问题缩小到一个简单的问题,这个问题应该很容易解决,但出于某种原因,在过去的几个小时里一直在回避我。下面我用来显示二维数组值的代码并没有按照我想象的方式显示。我是新的C++,所以如果问题是简单的固定,这不会让我吃惊。在这一点上,我不知道是什么导致了我的问题。任何帮助都将不胜感激 这是一些简化代码,用于在3个字符乘3个字符的网格中显示二维数组 char board[2][2]; board[0][0] = '1'; board[0][1] = '2'; board[

我一直在调试一些代码,并已将我的问题缩小到一个简单的问题,这个问题应该很容易解决,但出于某种原因,在过去的几个小时里一直在回避我。下面我用来显示二维数组值的代码并没有按照我想象的方式显示。我是新的C++,所以如果问题是简单的固定,这不会让我吃惊。在这一点上,我不知道是什么导致了我的问题。任何帮助都将不胜感激

这是一些简化代码,用于在3个字符乘3个字符的网格中显示二维数组

char board[2][2];

board[0][0] = '1';
board[0][1] = '2';
board[0][2] = '3';
board[1][0] = '4';
board[1][1] = '5';
board[1][2] = '6';
board[2][0] = '7';
board[2][1] = '8';
board[2][2] = '9';

cout << board[0][0] << " ";
cout << board[0][1] << " ";
cout << board[0][2] << endl;
cout << board[1][0] << " ";
cout << board[1][1] << " ";
cout << board[1][2] << endl;
cout << board[2][0] << " ";
cout << board[2][1] << " ";
cout << board[2][2] << endl;

詹姆斯·阿德基森在评论中给出了正确答案。由于某种原因,我认为数组大小声明符在0开始而不是1,所以需要在板(3)[3 ]中声明3x3数组,而不是在C++声明< /P>中的板[2 ] [2 ]。
char board[2][2];
声明大小为2x2的字符数组。指数化从0开始,因此所有有效的指数都是:

0,0
0,1
1,0
1,1
使用大于size-1的索引写入数组,即

board[2][0] = '7';

是未定义的行为。

您创建了一个2x2数组而不是3x3数组(即,您需要
字符板[3][3]
)。我知道它必须简单,您是对的!谢谢你的帮助。不确定我认为数组大小声明符是从0开始的,而不是从1开始的。
board[2][0] = '7';