搜索二维数组

Searching a two dimensional array c++

本文关键字:二维数组 搜索      更新时间:2023-10-16

完全是新手,在搜索二维数组时遇到问题。我有一个3x3字符数组,包含'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;
            }
        }
    }
}

我真的很感激你的帮助!

尝试将函数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;
            }
        }
    }
}

你不应该在searchBoard()中声明一个局部的,未初始化的board,它掩盖了全局的board