【发布时间】:2023-04-09 13:04:02
【问题描述】:
我正在编写一个找到迷宫出口的程序。我有一个代表实际迷宫的多维数组。
const int size = 12;
char maze[ size ][ size ] = {
"############",
"#...#......#",
"..#.#.####.#",
"###.#....#.#",
"#....###.#..",
"####.#.#.#.#",
"#..#.#.#.#.#",
"##.#.#.#.#.#",
"#........#.#",
"######.###.#",
"#......#...#",
"############",
};
VS C++ 给了我一个警告信息,说大小对于这样的数组来说太小了。我想这是因为每行中还必须有 '\0' 符号。如何初始化没有 '\0' 符号的 char 数组?我不想用值 13 初始化size,因为将这个常量用于函数(打印数组、移动等)会很混乱。有什么办法吗?
另外,如何使用指针将这个数组传递给函数void mazeTraverse?
int main()
{
mazetraverse(maze)
}
void mazeTraverse(char (*maze)[ size ])
这样的代码不起作用...
【问题讨论】:
-
让我想起了Nethack
-
函数名是
mazeTraverse。你为什么要打电话给mazetraverse?
标签: c++ multidimensional-array char