C轉換格式符和修飾符
一個有用的 C 轉換格式符和修飾符的參考手冊。
在這篇文章中,我想為你列出所有可以在 printf()、scanf() 和類似的輸入輸出函數中使用的 轉換格式符。
| 格式符 | 含義 | 
|---|---|
| %d/%i | 有符號十進制整數 | 
| %u | 無符號十進制整數 | 
| %c | 無符號 char | 
| %s | 字符串 | 
| %p | 指針的十六進制形式 | 
| %o | 無符號八進制整數 | 
| %x/%X | 無符號十六進制數 | 
| %e | 科學記號表示的浮點數(使用小寫 e) | 
| %E | 科學記號表示的浮點數(使用大寫 E) | 
| %f | 十進制表示的 double數字 | 
| %g/%G | 根據值,在十進制或科學記號中表示的 double數字 | 
除了這些格式符,我們還有一組 修飾符。
首先是 數字。在 % 和格式符之間使用一個數字,你可以指定最小的字段寬度。例如:%3d 會佔用 3 個空間,不管打印的數字是什麼。
下面這段代碼:
| 1 | printf("%4d\n", 1); | 
應該打印出:
| 1 | 1 | 
如果在數字之前加上一個點,則表示精度:即小數位數。這當然適用於十進制數字。例如:
| 1 | printf("%4.2f\n", 1.0); | 
將打印:
| 1 | 1.00 | 
除了數字,我們還有三個特殊的字母:h、l 和 L。
- h,與整數一起使用,表示- short int(例如- %hd)或- short unsigned int(例如- %hu)
- l,與整數一起使用,表示- long int(例如- %ld)或- long unsigned int(例如- %lu)
- L,與浮點數一起使用,表示- long double(例如- %Lf)
tags: [“c”, “conversion specifiers”, “modifiers”]