在 C 語言程式設計中,printf 是最常用的輸出函數,掌握其格式控制字符對於輸出整齊、可讀的資料至關重要。本文系統整理了 printf 的一般格式、9 種核心格式字符、常用修飾符以及注意事項,並附上對照表,方便快速查閱。
基本語法:
printf("格式控制字符串", 輸出項列表);
例如:
printf("i=%d, ch=%c\n", i, ch);
% 開頭)與普通字符(原樣輸出)。| 格式字符 | 說明 | 常見變體 |
|---|---|---|
d / i | 帶符號十進制整數 | %d、%md(寬度 m)、%ld(長整型) |
o | 八進制無符號整數 | %o、%mo、%lo |
x / X | 十六進制無符號整數 | %x(小寫 a-f)、%X(大寫 A-F) |
u | 無符號十進制整數 | %u、%mu、%lu |
c | 單一字符 | %c、%mc |
s | 字符串 | %s、%ms、%-ms(左對齊)、%m.ns(寬度 m、精度 n) |
f | 小數形式實數(float/double) | %f、%m.nf、%-m.nf;單精度 7 位有效數字,雙精度 16 位 |
e / E | 指數形式實數 | %e、%m.ne、%-m.ne |
g / G | 自動選擇 %f 或 %e 中較短者,不輸出無意義的 0 | %g、%G |

常用組合範例:
%-10d:左對齊,寬度 10%08x:右對齊,不足位以 0 填充,寬度 8%.2f:保留兩位小數%10.3s:寬度 10,最多輸出 3 個字符X、E、G 外,格式字符必須小寫。\n、\t)。% 需寫作 %%,例:printf("%.2f%%", 100.0/3);| 格式字符 | 輸出形式 | 備註 |
|---|---|---|
| d, i | 帶符號十進制整數 | 正數不輸出 + 號 |
| o | 八進制無符號 | 不輸出前導 0 |
| x, X | 十六進制無符號 | x→小寫,X→大寫;不輸出 0x |
| u | 無符號十進制 | |
| c | 單一字符 | |
| s | 字符串 | |
| f | 小數形式 | 預設 6 位小數 |
| e, E | 指數形式 | |
| g, G | 自動選擇 f/e | 不輸出無意義的 0 |
熟練掌握這些格式控制,能讓你的程式輸出更專業、更易讀。建議在實際開發中多加練習,並隨時查閱此表。