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

C 語言新手常見語法錯誤排查:printf、scanf、return 拼寫錯誤全解析

     編輯:程式設計疑難解答

照著課本敲代碼卻報錯?這是 C 語言初學者最常遇到的挫折。本文針對一張典型錯誤截圖,逐一拆解三個經典低級錯誤,助你建立「語法肌肉記憶」。

錯誤代碼重現

#include <stdio.h>
int main() {
    int a, b;
    printf(" ");      // 錯誤 1
    scanf("f% f%");   // 錯誤 2
    retrun 0;         // 錯誤 3
}

三大錯誤逐項擊破

1. printf 格式字串缺少雙引號內容

錯誤:printf(" "); —— 雙引號內為空,編譯器視為「無格式字串」,若後續無參數雖合法但無意義;實際意圖多為 printf("請輸入兩個整數: ");。

修正:補全提示訊息,printf("請輸入兩個整數: ");。

2. scanf 格式字串寫錯:逗號、百分號位置、空格

錯誤:scanf("f% f%"); —— 問題三連發:

  • 格式佔位符應為 %d(整數),非 f%。
  • 多個佔位符間用空格或換行分隔,不可用逗號。
  • 佔位符格式為 %d,% 在前、字母在後。

修正:scanf("%d %d", &a, &b);(注意 & 取地址符)。

3. return 關鍵字拼寫錯誤

錯誤: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 *' 等細節。
  • 使用 IDE(VS Code + C/C++ 插件、CLion、DevCpp)的語法高亮與自動補全,拼寫錯誤一眼可見。
  • 養成「先寫骨架、再填細節」習慣:int main() { return 0; } 先跑通,再加輸入輸出。

這三個錯誤幾乎涵蓋了 C 語言入門 90% 的語法坑,熟記修正模式,下次再見直接「秒改」。

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