printf的填充符 佔位符

字符 對應數據類型 含義
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 * 到此字符以前爲止,一共輸出的字符個數,不輸出文本
%
無輸入 不進行轉換,輸出字符‘%’(百分號)自己
注:%g、%G在小數點位數四位或指數大於等於精度時用%e、%E,不然用%f。

flags

flags 規定輸出樣式,取值和含義以下:
字符
字符名稱 說明
- 減號 左對齊,右邊填充空格(默認右對齊)
+
加號 在數字前增長符號 + 或 -
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

相關文章
相關標籤/搜索