C語言printf格式化輸出修飾符詳解

轉換說明 輸出
%a,%A 浮點數、十六進制數和p-計數法(C99)
%c 一個字符
%d 有符號十進制數
%e,%E 浮點數,e計數法
%f 浮點數,十進制計數法
%g,%G

根據數值不一樣自動選擇%f或%e,%e格式在指數小於-4或者大於等於精度時使用git

%i 有符號十進制整數(與%d相同)
%o 無符號八進制整數
%p 指針
%s 字符串
%u 無符號十進制數
%x,%X 使用十六進制數0f的無符號十六進制整數
%% 打印一個百分號

 

prinf()修飾符
修飾符 意義
標誌

五種標誌將在後面的表中說明,能夠使用零個或者多個標誌ui

示例: "%-10d"指針

digit(s)

字段寬度的最小值。若是字段不能容納要打印的數或者字符串,系統會使用更寬的字段字符串

示例: "%4d",「%10s」it

.digit(s)

精度.對於%e,%E和%f轉換,是將要在小數點的右邊打印的數字的位數。io

對於%g和%G轉換,是有效數字的最大位數。table

對於%s轉換,是將要打印的字符的最大數目。項目

對於整數轉換,是將要打印的數字的最小位數。若是必要,要使用前導0來達到位數。tab

只使用"."表示其後跟隨一個0,因此%.f和%.0f相同di

示例: 「%5.2f」表示打印一個浮點數,它的字段寬度爲5個字符,小數點後有兩個數字

h

和整數轉換說明符一塊兒使用,表示一個short int或unsigned short int類型數值

示例: 「%hu」, "%hx", "%6.4hd"

hh 和證書轉換說明符一塊兒使用,表示一個signed char或unsigned char類型數值
j

和整數轉換說明符一塊兒使用,表示一個intmax_t或uintmax_t值

示例: "%jd","%8jx"

l 和整數轉換說明符一塊兒使用,表示一個long int或unsigned long int類型值
ll

和整數轉換說明符一塊兒使用,表示一個long long int或unsigned long long int類型值(C99)

示例: "%lld","%8llu"

L

和浮點數轉換說明符一塊兒使用,表示一個long double值

示例: "%Lf", "%10.4Le"

t

和整數轉換說明符一塊兒使用,表示一個ptrdiff_t值(與兩個指針之間的差相對應的類型)(C99)

示例: "%td", "%1ti"

z

和整數轉換說明符一塊兒使用,表示一個size_t值(sizeof返回的類型)(C99)

示例: "%zd","%12zx"

 

printf()的標誌
標誌 意義
-

項目左對齊,即,會把項目打印在字段的左側開始處

示例: "%-20s"

+

有符號的值若爲正,則顯示帶加號的符號;若爲負,則顯示帶減號的符號

示例: "%+6.2f"

(空格)

有符號的值若爲正,則顯示時帶前導空格(可是不顯示符號);若爲負,則帶減號符號。

+標誌會覆蓋空格標誌

示例: "% 6.2f"

#

使用轉換說明的可選形式。若爲%o格式,則以0開始;若爲%x和%Xgeshi ,則以0x或0X開始。

對於全部的浮點形式,#保證了即便不跟任何數字,也打印一個小數點字符。對於%g和%G格式,

它防止尾隨0被刪除

示例: "%#o", "%#8.0f", "%+#10.3E"

0

對於全部的數字格式,用前導零而不是空格填充字段寬度。若是出現-標誌或者指定了精度(對於整數)則忽略該標誌

示例: "%010d", "%08.3f","%02X"

相關文章
相關標籤/搜索