一、printf()函數 常用的轉換說明 轉換說明 輸出 %a 浮點數,十六進位數和p計數法 %A 浮點數,十六進位數和p計數法 %c 單個字元 %d 有符號的十進位數 %e 浮點數,e計數法 %E 浮點數,e計數法 %f 浮點數,十進位計數法 %g 根據值的不同,自動選擇%f或者%e,%e格式用於 ...
一、printf()函數
- 常用的轉換說明
轉換說明 | 輸出 |
---|---|
%a | 浮點數,十六進位數和p計數法 |
%A | 浮點數,十六進位數和p計數法 |
%c | 單個字元 |
%d | 有符號的十進位數 |
%e | 浮點數,e計數法 |
%E | 浮點數,e計數法 |
%f | 浮點數,十進位計數法 |
%g | 根據值的不同,自動選擇%f或者%e,%e格式用於指數小於-4或者大於或等於精度時 |
%G | 根據值的不同,自動選擇%f或者%E,%E格式用於指數小於-4或者大於或等於精度時 |
%i | 有符號的十進位整數 |
%o | 無符號的八進位數 |
%p | 指針 |
%s | 字元串 |
%u | 無符號的十進位數 |
%x | 無符號十六進位整數,使用十六進位數0f |
%X | 無符號十六進位整數,使用十六進位數0F |
%% | 列印一個%號 |
- printf()的轉換說明修飾符
修飾符 | 含義 |
---|---|
標記 | 五種標記(-、+、空格、#和0),可以不使用標記或者使用多個標記,示例:"%-10d" |
數字 | 最小欄位寬度,如果該欄位不能容納待列印的數字或者字元串,系統會使用更寬的欄位,示例:"%4d" |
.數字 | 精度,對於%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類型的值。示例:"%hhu","%hhx","%hh6.4hhd" |
j | 和整形轉化一起使用,表示intmax_t或者uintmax_t類型的值,這些類型定義在stdint.h中,示例:"%jd","8jx" |
l | 和整形轉換說明一起使用,表示long int或則和unsigned long int類型的值,示例:"%ld","%8lu" |
ll | 和整形轉換說明一起使用,表示long long int 或unsigned long long int類型的值,示例:"%lld","%8llu" |
L | 和浮點轉換說明一起使用,表示long double類型的值,示例:"%Lf","10.4Le" |
t | 和整形轉換說明一起使用,表示ptrdiff_t類型的值,ptrdiff_t是兩個指針差值的類型,示例:"%td","%12ti" |
z | 和整形轉換說明一起使用,表示size_t類型的值,size_t是sizeof返回的類型,示例:"%zd","%12zd" |
- 類型的可移植性,從上表的最後兩行可以看到,sizeof是一個運算符,當返回計算結果的時候,必然是無符號的整形,可能為unsigned int,unsigned long,unsigned long long,所以不同的系統,可能返回值不一樣,因此定義了size_t類型的來表示sizeof返回的類型,這種被稱為底層類型。倒數第二行也是同理。
- 對於浮點類型,只有double和long double類型的轉換說明(%f,%lf),但是列印float的時候也可以那兩個轉換,這是因為C自動轉換為double了。
二、源碼:
- D17_defines.c
- https://github.com/ruigege66/CPrimerPlus/blob/master/D17_defines.c
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客園:https://www.cnblogs.com/ruigege0000/
- 歡迎關註微信公眾號:傅里葉變換,個人賬號,僅用於技術交流