gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:33:24 25 4
gpt4 key购买 nike

我有一个由“.”填充的数组。或“#”,我需要一种方法来检查 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] == '#' || ... )

关于c++ - 检查二维数组中的值是否等于 "#",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com