printf 中 % 是格式佔位符前綴(如 %d、%s),直接寫 % 會被視為未完成的格式規格,導致編譯警告且無輸出。嘗試用 \% 轉義也無效,因 \ 與 % 同為轉義字元,組合行為未定義。
%%在格式字串中連寫兩個 %%,即輸出單一 % 字元。同理,輸出反斜線 \ 用 \\。
#include <stdio.h>
int main() {
printf("\\ \n"); // 輸出反斜線
printf("%% \n"); // 輸出百分號
return 0;
}
\
%
無警告,輸出完全正確。
%% 是 printf 格式字串規範定義的「輸出字面 %」轉義序列。\\ 輸出字面 \。printf 族函數(fprintf、sprintf 等)。記住:要輸出 % 就寫 %%,要輸出 \ 就寫 \\。下一回將介紹 printf 寬度控制。