照著課本敲代碼卻報錯?這是 C 語言初學者最常遇到的挫折。本文針對一張典型錯誤截圖,逐一拆解三個經典低級錯誤,助你建立「語法肌肉記憶」。
#include <stdio.h>
int main() {
int a, b;
printf(" "); // 錯誤 1
scanf("f% f%"); // 錯誤 2
retrun 0; // 錯誤 3
}
錯誤:printf(" "); —— 雙引號內為空,編譯器視為「無格式字串」,若後續無參數雖合法但無意義;實際意圖多為 printf("請輸入兩個整數: ");。
修正:補全提示訊息,printf("請輸入兩個整數: ");。
錯誤:scanf("f% f%"); —— 問題三連發:
%d(整數),非 f%。%d,% 在前、字母在後。修正:scanf("%d %d", &a, &b);(注意 & 取地址符)。
錯誤:retrun 0; —— 少打了 n,編譯器不認識此標識符。
修正:return 0;。
#include <stdio.h>
int main() {
int a, b;
printf("請輸入兩個整數: ");
scanf("%d %d", &a, &b);
printf("a=%d, b=%d\n", a, b);
return 0;
}
-Wall -Wextra),GCC/Clang 會直接提示 format '%f' expects argument of type 'float *' 等細節。int main() { return 0; } 先跑通,再加輸入輸出。這三個錯誤幾乎涵蓋了 C 語言入門 90% 的語法坑,熟記修正模式,下次再見直接「秒改」。