检查二维数组中的值是否等于"#"

Checking if value in twodimensional array is equal to a "#"

本文关键字:是否 二维数组 检查      更新时间:2023-10-16

我有一个由"."或"#"填充的数组,我需要一种方法来检查array[y+1][x]是否等于#,如果是,请执行某些操作并停止循环,否则y递增。首先,我在没有 & 之前写了它lavirint它给了我一个错误,它无法比较指针和int,这让我感到困惑,因为"#"不应该是int

问题是循环中的第一个条件永远不会发生,尽管它应该发生,并且循环停止时

y==n

也许我只是愚蠢,忽略了一些东西,但我真的很感激解决这个问题。

char lavirint[500][500];
for (int i = 1; i <= n; i++)
{
    for (int j = 1; j <= m; j++)
    {
        scanf("%c", &lavirint[i][j]);
    }
}
bool n_povecava = true;

while(n_povecava)
    {
        if(&lavirint[y+1][x] == "#" || y==n)
        {
            k--;
            m_povecava = true;
            n_povecava = false;
        }
        else
            y++;
    }

"#"const char[2] 类型的字符串文本,衰减为 const char*

你需要'#'哪个是字符:

if (lavirint[y+1][x] == '#' || ... )