首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言結構體定義缺少分號導致編譯錯誤的經典案例

     編輯:程式設計綜合問答

錯誤代碼

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) { ... }

知識點補充

  • C 語言中 struct、union、enum 定義結尾必須加分號。
  • 此分號屬於聲明語句的一部分,而非空語句。
  • 良好的編碼習慣:定義結構體時順手加上分號,或使用 IDE 自動補全。

調試技巧

遇到莫名其妙的語法錯誤時,優先檢查錯誤行之前的結構體、類、枚舉定義是否漏寫分號。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved