首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C 語言常見錯誤大全:十大類型錯誤、代碼陷阱與修正指南

     編輯:C 語言基礎

十大高發錯誤類別

  1. 大小寫敏感:int a=5; printf("%d",A); —— a 與 A 是不同變量。慣例:宏常量大寫,變量小寫。
  2. 類型不匹配運算:float a,b; a%b; —— % 僅適用整型,浮點型不可求余。
  3. 字符 vs 字符串常量混淆:char c; c="a"; —— 字符用單引號 'a',字符串用雙引號 "a"(含隱藏 \0),不可賦給字符變量。
  4. = 與 == 混用:if(a=3) 是賦值,if(a==3) 才是比較。C 中 = 賦值,== 關係運算。
  5. 漏分號:語句必須以 ; 結尾。復合語句最後一條也不能省。漏分號導致編譯器合併下一行報錯,排查時需查看上一行。
  6. 多餘分號:if(a%3==0); i++; —— 分號導致 if 體為空,i++ 無條件執行。for(...); { ... } 同理導致循環體為空。
  7. scanf 缺取址符:scanf("%d%d",a,b); 錯,應為 &a, &b。
  8. 輸入格式不符:scanf("%d%d",&a,&b); 輸入時不能用逗號分隔(如 3,4),需用空白字符分隔。
  9. 其他:{}/() 不匹配、未包含頭文件、保留字作標識符、變量定義放執行語句後、警告過多、邏輯錯誤(無限循環、switch 少 break、if-else 錯配、內存洩漏、野指針、文件未關閉)等。

調試心法

C 編譯器語法檢查寬鬆,給了「靈活餘地」也帶來調試困難。養成:代碼規範、類型嚴謹、分號檢查、取址不漏、輸入驗證 習慣,可消滅 80% 低級錯誤。

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