對於很多人來說,用格式符都是熟能生巧,而不清楚為什么是那樣的格式符,所以我在這列了一個表,翻譯了其對應的英文。
進制名稱 | 英文 | 縮寫 |
---|---|---|
二進制 | Binary | B |
八進制 | Octal | O |
十進制 | Decimal | D |
十六進制 | Hexadecimal | H |
格式說明 | 表示內容 | 注釋 |
---|---|---|
%d | 整型十進制 int | Decimal |
%ld | 長整型 long int | Long Decimal |
%f | 浮點型 float | Float |
%lf | 雙精度浮點型 double | Long Float |
%% | 輸出一個百分號 | % |
%c | 字符 char | Char |
%s | 字符串 | String |
%o | 八進制 | Octal |
%#o | 帶前導(0)的八進制 | |
%x | 十六進制 | Hexadecimal |
%#x | 帶前導(0x)的十六進制 | |
%p | 指針的值,輸出地址符 即 地址 |
Pointer |
%md | 整型,m為總長度(常數)(默認為正數+) | 右對齊(數軸左-右+) 即 不足的話,左邊補上空格 |
%-md | 整型,m為總長度(常數)(負數-) | 左對齊 即 不足的話,右邊補上空格 |
%m.nf | 浮點型 m為總字符長度(包含小數點) n為小數長度 |
要進行四舍五入 當實際的顯示大於m,那就按實際輸出,也就是m無意義了 %3d 對應 1234 的話,就是1234 沒有空格 |
舉例說明:
printf("%2d",123);
第二部分有三位,大於指定的兩位,原樣輸出 123
printf("%5d",123);
第二部分有三位,小於指定的五位,左邊補兩個空格 123
printf("%10f",1.25);
小數要求補足 6 位的,沒有六位的補 0,。結果為 1.250000
printf("%5.3f",125);
小數三位,整個五位,結果為 1.250(小數點算一位)
printf("%3.1f",1.25);
小數一位,整個三位,結果為 1.3(要進行四舍五入)