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

C語言 printf 格式控制符深度解析:雙百分號 %% 的轉義機制

     編輯:C 語言問答

格式字符串中的百分號奧秘

在 printf("a=%d%%, b=%d%%", a, b); 中連續出現的 %% 並非錯誤,而是 C 語言標準定義的轉義序列,用於輸出字面百分號字符 %。

核心規則

格式串片段輸出結果說明
%%%轉義輸出單個百分號
%d整數值格式佔位符,對應後續參數
% % (中間有空格)% %兩個獨立字符,非轉義

為什麼需要轉義?

printf 解析格式字符串時,遇到 % 會嘗試匹配後續字符作為格式說明符(如 d、f、s)。若直接書寫 % 會導致解析錯誤或未定義行為。%% 告訴解析器:「這裡只輸出一個百分號,不消耗參數」。

實戰範例

int progress = 85;
printf("Progress: %d%%\n", progress);  // 輸出: Progress: 85%
printf("Special: 100%% complete%%\n");   // 輸出: Special: 100% complete%

延伸:其他轉義序列

  • \\ → 反斜線 \
  • \" → 雙引號 "
  • \n → 換行、\t → 制表符

掌握轉義規則,是編寫健壯格式化輸出的基礎。

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