字符 | 對應數據類型 | 含義 |
d / i | int | 接受整數值並將它表示爲有符號的十進制整數,i是老式寫法 |
o | unsigned int | 無符號8進制整數(不輸出前綴0) |
u
|
unsigned int | 無符號10進制整數 |
x / X
|
unsigned int | 無符號16進制整數,x對應的是abcdef,X對應的是ABCDEF(不輸出前綴0x) |
f(lf)
|
float(double) | 單精度浮點數用f,雙精度浮點數用lf(尤爲scanf不能混用) |
e / E
|
double | 科學計數法表示的數,此處"e"的大小寫表明在輸出時用的「e」的大小寫 |
g / G
|
double | 使用以上兩種中最短的形式,大小寫的使用同%e和%E |
c
|
char | 字符型。能夠把輸入的數字按照ASCII碼相應轉換爲對應的字符 |
s / S
|
char * / wchar_t * | 字符串。輸出字符串中的字符直至字符串中的空字符(字符串以'\0‘結尾,這個'\0'即空字符) |
p
|
void * | 以16進制形式輸出指針 |
n | int * | 到此字符以前爲止,一共輸出的字符個數,不輸出文本 |
%
|
無輸入 | 不進行轉換,輸出字符‘%’(百分號)自己 |
字符
|
字符名稱 | 說明 |
- | 減號 | 左對齊,右邊填充空格(默認右對齊) |
+
|
加號 | 在數字前增長符號 + 或 - |
0
|
數字零 | 將輸出的前面補上0,直到佔滿指定列寬爲止(不能夠搭配使用「-」) |
空格 | 輸出值爲正時加上空格,爲負時加上負號 | |
#
|
井號 |
type是o、x、X時,增長前綴0、0x、0X
type是e、E、f、g、G時,必定使用小數點
type是g、G時,尾部的0保留
|
可是有時候咱們須要表示一個時間,如12:00:12;spa
可是若是咱們用%2d的話,就會變成12:0:12,那怎麼辦呢?指針
怎麼默認用0填充?答案是%02d,簡單吧。htm