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


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

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

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

 

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

五種標志將在后面的表中說明,可以使用零個或者多個標志

示例: "%-10d"

digit(s)

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

示例: "%4d",“%10s”

.digit(s)

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

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

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

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

只使用"."表示其后跟隨一個0,所以%.f和%.0f相同

示例: “%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"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM