一個有用的 C 轉換格式符和修飾符的參考手冊。
在這篇文章中,我想為你列出所有可以在 printf()
、scanf()
和類似的輸入輸出函數中使用的 轉換格式符。
格式符 | 含義 |
---|---|
%d / %i |
有符號十進制整數 |
%u |
無符號十進制整數 |
%c |
無符號 char |
%s |
字符串 |
%p |
指針的十六進制形式 |
%o |
無符號八進制整數 |
%x / %X |
無符號十六進制數 |
%e |
科學記號表示的浮點數(使用小寫 e ) |
%E |
科學記號表示的浮點數(使用大寫 E ) |
%f |
十進制表示的 double 數字 |
%g / %G |
根據值,在十進制或科學記號中表示的 double 數字 |
除了這些格式符,我們還有一組 修飾符。
首先是 數字。在 %
和格式符之間使用一個數字,你可以指定最小的字段寬度。例如:%3d
會佔用 3 個空間,不管打印的數字是什麼。
下面這段代碼:
printf("%4d\n", 1);
printf("%4d\n", 12);
printf("%4d\n", 123);
printf("%4d\n", 1234);
應該打印出:
1
12
123
1234
如果在數字之前加上一個點,則表示精度:即小數位數。這當然適用於十進制數字。例如:
printf("%4.2f\n", 1.0);
printf("%4.3e\n", 12.232432442);
printf("%4.1e\n", 12.232432442);
printf("%4.1f\n", 123.22);
將打印:
1.00
1.223e+01
1.2e+01
123.2
除了數字,我們還有三個特殊的字母:h
、l
和 L
。
h
,與整數一起使用,表示short int
(例如%hd
)或short unsigned int
(例如%hu
)l
,與整數一起使用,表示long int
(例如%ld
)或long unsigned int
(例如%lu
)L
,與浮點數一起使用,表示long double
(例如%Lf
)