struct book {
char title[MAXTITL];
char author[MAXTITL];
float value;
} // ← 這裡缺少分號
int main(void) { ... }
後續代碼會出現「syntax error」「unexpected int」「expected declaration」等誤導性提示,實際根因是結構體定義未正確閉合。
struct book {
char title[MAXTITL];
char author[MAXTITL];
float value;
}; // ← 添加分號
int main(void) { ... }
struct、union、enum 定義結尾必須加分號。遇到莫名其妙的語法錯誤時,優先檢查錯誤行之前的結構體、類、枚舉定義是否漏寫分號。