表1 轉換說明及其列印的輸出結果
轉換說明
輸出%a,%a
浮點數、十六進製制數和p計數法(c99/c11)
%c乙個字元
%d有符號十進位制數
%e,%e
浮點數,e計數法
%f浮點數,十進位制計數法
%g,%g
根據數值不同自動選擇%f或%e,%e格式在指數小於-4或者大於等於精度時使用
%i有符號十進位制整數(與%d相同)
%o無符號八進位制整數
%p指標
%s字串
%u無符號十進位制數
%x,%x
使用十六進製制數0f的無符號十六進製制整數
%%列印乙個百分號
表2 printf()的修飾符
修飾符意義
標誌五種標誌將在後面的表2中說明,可以使用零個或者多個標誌,示例: 「%-10d」
數字字段寬度的最小值。如果字段不能容納要列印的數或者字串,系統會使用更寬的字段示例: 「%4d」,「%10s」
.數字精度 對於%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 primer plus (第6版) 中文版[m]. 人民郵電出版社, 2016.
C語言格式化輸出
1.格式控制符形式 o 格式控制符 其中,中括號裡的內容是可選的,裡的內容是必須的。以下對各個標誌的含義簡要介紹 表示格式控制的起始符號,必不可少。格式控制起始位置 表示對齊標誌,表示右對齊,表示左對其,預設情況下為右對齊。對齊標誌 o 表示當實際長度沒有格式控制的長度大時,用 o 補全。補全內容 ...
C語言格式化輸出
d整型輸出,d長整型輸出 o以八進位制數形式輸出整數 x以十六進製制數形式輸出整數,或輸出字串的位址 u以十進位制數輸出unsigned型資料 無符號數 c用來輸出乙個字元 挨個輸出陣列中的元素 s用來輸出乙個字串 一次輸出整個陣列的元素 f用來輸出實數,以小數形式輸出,預設情況下保留小數點6位 e...
C語言printf格式化輸出修飾符詳解
轉換說明 輸出 a,a 浮點數 十六進製制數和p 計數法 c99 c乙個字元 d有符號十進位制數 e,e 浮點數,e計數法 f浮點數,十進位制計數法 g,g 根據數值不同自動選擇 f或 e,e格式在指數小於 4或者大於等於精度時使用 i有符號十進位制整數 與 d相同 o無符號八進位制整數 p指標 s...