int a=5; printf("%d",A); —— a 與 A 是不同變量。慣例:宏常量大寫,變量小寫。float a,b; a%b; —— % 僅適用整型,浮點型不可求余。char c; c="a"; —— 字符用單引號 'a',字符串用雙引號 "a"(含隱藏 \0),不可賦給字符變量。= 與 == 混用:if(a=3) 是賦值,if(a==3) 才是比較。C 中 = 賦值,== 關係運算。; 結尾。復合語句最後一條也不能省。漏分號導致編譯器合併下一行報錯,排查時需查看上一行。if(a%3==0); i++; —— 分號導致 if 體為空,i++ 無條件執行。for(...); { ... } 同理導致循環體為空。scanf 缺取址符:scanf("%d%d",a,b); 錯,應為 &a, &b。scanf("%d%d",&a,&b); 輸入時不能用逗號分隔(如 3,4),需用空白字符分隔。{}/() 不匹配、未包含頭文件、保留字作標識符、變量定義放執行語句後、警告過多、邏輯錯誤(無限循環、switch 少 break、if-else 錯配、內存洩漏、野指針、文件未關閉)等。C 編譯器語法檢查寬鬆,給了「靈活餘地」也帶來調試困難。養成:代碼規範、類型嚴謹、分號檢查、取址不漏、輸入驗證 習慣,可消滅 80% 低級錯誤。