| 轉換說明 | 輸出 |
| %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的無符號十六進制整數 |
| %% | 打印一個百分號 |
| 修飾符 | 意義 |
| 標志 | 五種標志將在后面的表中說明,可以使用零個或者多個標志 示例: "%-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" |
| 標志 | 意義 |
| - | 項目左對齊,即,會把項目打印在字段的左側開始處 示例: "%-20s" |
| + | 有符號的值若為正,則顯示帶加號的符號;若為負,則顯示帶減號的符號 示例: "%+6.2f" |
| (空格) | 有符號的值若為正,則顯示時帶前導空格(但是不顯示符號);若為負,則帶減號符號。 +標志會覆蓋空格標志 示例: "% 6.2f" |
| # | 使用轉換說明的可選形式。若為%o格式,則以0開始;若為%x和%Xgeshi ,則以0x或0X開始。 對於所有的浮點形式,#保證了即使不跟任何數字,也打印一個小數點字符。對於%g和%G格式, 它防止尾隨0被刪除 示例: "%#o", "%#8.0f", "%+#10.3E" |
| 0 | 對於所有的數字格式,用前導零而不是空格填充字段寬度。如果出現-標志或者指定了精度(對於整數)則忽略該標志 示例: "%010d", "%08.3f","%02X" |
