这里总有新手,在搜索二维数组时遇到问题。我有一个3x3 char数组,它像一个tic tac toe board一样保持'1'到'9'。为了进行测试,我对其进行了硬编码以搜索“5”,希望它为行返回“1”。无论怎样,它都会返回'3'。还有其他一些类似的帖子,但它们都非常先进,因为我对c ++知之甚少。这是我的阵列:
char board[3][3] =
{
{ '1', '2', '3', }, // row 0
{ '4', '5', '6', }, // row 1
{ '7', '8', '9' } // row 2
};
这是我的功能:
int searchBoard()
{
char board[3][3];
for (int r = 0; r < 3; r++)
{
for (int c = 0; c < 3; c++)
{
if (board[r][c] == '5')
{
return r;
}
}
}
}
我真的很感激一些帮助!
答案 0 :(得分:2)
您不应在board
中声明隐藏全局searchBoard()
的本地未初始化board
。
答案 1 :(得分:2)
尝试将您的功能searchBoard
更改为
int searchBoard()
{
char board[3][3] =
{
{ '1', '2', '3', }, // row 0
{ '4', '5', '6', }, // row 1
{ '7', '8', '9' } // row 2
};
for (int r = 0; r < 3; r++)
{
for (int c = 0; c < 3; c++)
{
if (board[r][c] == '5')
{
return r;
}
}
}
}