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

2022-08-01 15:36:08 字數 1855 閱讀 8844

轉換說明

輸出%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"

C語言printf格式化輸出

d 十進位制有符號整數 u 十進位制無符號整數 f 浮點數 s 字串 c 單個字元 p 指標的值 e 指數形式的浮點數 x x 無符號以十六進製制表示的整數 o 無符號以八進位制表示的整數 注意是字母歐,不是零 g 自動選擇合適的表示法 1 對於 d 2 對於 f 3 對於 s 4 對於 x 多在錯...

c語言格式化輸出函式printf()

printf 函式的使用 printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出 另一部分是格式化規定字元,以 開始,後跟乙個或幾個規定字元,用來確定輸出內容格式...

printf格式化輸出

一 轉換說明符 a a 浮點數 十六進製制數字和p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 u 無符號十進位制整數 o 八進位制整數 ...