搜索二维数组c ++

时间:2014-05-09 01:52:15

标签: c++ arrays search

这里总有新手,在搜索二维数组时遇到问题。我有一个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;
            }
        }
    }
}

我真的很感激一些帮助!

2 个答案:

答案 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;
            }
        }
    }
}