我目前正在学习C语言,并且我刚刚写了一个程序草案,允许用户围绕基于角色的迷宫/路径移动玩家。我将迷宫/路径构建为多维字符数组,并通过替换数组中的某些字符来控制玩家的位置。这里是多维数组我已经初始化:C多维数组:我错过了什么?
char maze[5][7] = {
{"_", "_", "_", "_", "_"},
{"|", " ", " ", " ", "|"},
{"|", " ", "|", " ", "|"},
{"|", " ", "|", "_", "|"},
{"|", "_", " ", " ", "|"},
{"|", " ", "|", " ", "|"},
{"|", "_", "_", "_", "|"}
};
然而,当我尝试编译,我得到这个错误:
error: '}' expected
数组中的第一行显然是缺少某种闭架的,尽管我多次检查了正确的数组语法,并且这看起来是正确的。我错过了什么?还有其他问题吗?
“|”是一个字符串文本,它具有字符数组的类型。是一个char类型的字符文字,你需要使用字符文字来初始化你的数组而不是字符串文字,并且数组应该被声明为char maze [7] [5],它有7个“rows”,5“列“ –
首先,你得到的尺寸是错误的,然后你有一个*字符数组*数组*阵列,而不是字符串。最后,C没有”多维数组“,它只有阵列数组。 ..) –
C数组是** row major **所以你的初始化方法的大小和类型都是错误的 – StoryTeller