【发布时间】:2021-12-09 07:48:25
【问题描述】:
正如标题所说,我的代码读取的二维数组完全错误。
const int WINNING_ROWS[8][3] = { (0, 1, 2),
(3, 4, 5),
(6, 7, 8),
(0, 3, 6),
(1, 4, 7),
(2, 5, 8),
(0, 4, 8),
(2, 4, 6) };
上面是我的二维数字数组。 我的程序似乎无法正确读取。
例如,如果我要询问第 2 行第 1 项,我希望得到 7,但它却给了我 6。 这是我已经完成的行和项目请求的列表,以尝试找出这里出了什么问题。
- 第 0 行,第 0 项,预期结果 0,实际结果 2
- 第 3 行,第 2 项,预期结果 6,实际结果 0
- 第 1 行,第 0 项,预期结果 3,实际结果 6
- 第 5 行,第 1 项,预期结果 5,实际结果 0
- 第 8 行,第 2 项,预期结果 6,实际结果 13629648
- 第 7 行,第 2 项,预期结果 6,实际结果 0
作为参考,这是我一直用来从数组中调用项目的代码
cout << WINNING_ROWS[7][2] << endl;
编辑 1:忽略粗体项,这是我在测试代码时的错误。
编辑 2:我的问题已得到解答。
【问题讨论】:
-
WINNING_ROWS[8][2]超出了数组的范围。您正在读取 8 行矩阵的第 9 行。 -
您的 ( ) 是您的问题。在此处使用 {} 而不是 ():https://ideone.com/LSofPh
标签: c++ arrays visual-c++