我目前正在學習C語言,並且我剛剛寫了一個程序草案,允許用戶圍繞基於角色的迷宮/路徑移動玩家。我將迷宮/路徑構建爲多維字符數組,並通過替換數組中的某些字符來控制玩家的位置。這裏是多維數組我已經初始化:C多維數組:我錯過了什麼?
char maze[5][7] = {
{"_", "_", "_", "_", "_"},
{"|", " ", " ", " ", "|"},
{"|", " ", "|", " ", "|"},
{"|", " ", "|", "_", "|"},
{"|", "_", " ", " ", "|"},
{"|", " ", "|", " ", "|"},
{"|", "_", "_", "_", "|"}
};
然而,當我嘗試編譯,我得到這個錯誤:
error: '}' expected
數組中的第一行顯然是缺少某種閉架的,儘管我多次檢查了正確的數組語法,並且這看起來是正確的。我錯過了什麼?還有其他問題嗎?
「|」是一個字符串文本,它具有字符數組的類型。是一個char類型的字符文字,你需要使用字符文字來初始化你的數組而不是字符串文字,並且數組應該被聲明爲char maze [7] [5],它有7個「rows」,5「列「 –
首先,你得到的尺寸是錯誤的,然後你有一個*字符數組*數組*陣列,而不是字符串。最後,C沒有」多維數組「,它只有陣列數組。 ..) –
C數組是** row major **所以你的初始化方法的大小和類型都是錯誤的 – StoryTeller