數據輸出
例:
有兩個變量:
int i;float x;
i=40; x = 839.21f
-
%d
表示的是十進制整數
-
%x
表示的十六進制整數
-
%o
表示的是八進制整數
-
%u
表示的無符號整數
-
%p
表示輸出數據的內存地址
-
%f
表示的定點十進制顯示float
什么是定點?什么是浮點?
定點就是小數點的位置是固定的,
浮點就是小數點的位置是不固定的,通常是以(指數形式或者又叫科學計數法的形式)
%d-
---以十進制顯示變量i,并且占用的空間最少
%5d
----以十進制顯示變量i,同時至少占用5個字符的空間,默認是右對齊,不夠的補零。
%-5d
----以十進制顯示變量i,通知至少占用5個字符的空間,左對齊方式,不夠的右邊補零。
%5.3d
---以定點十進制顯示變量i,至少占用5個字符的空間,默認右對齊方式,至少有3位有效數字,因此前面補零來保證有效數字的位數。
%-5.3d
----以定點十進制顯示變量i,至少占用5個字符的空間,左對齊方式,至少有3位有效數字,因此前面補零來保證有效數字的位數。
- 總結一下:形如
%-m.nd
其中d
表示的是定點十進制,m
表示的最少占用的字符空間,如果不夠的話根據對其方式補零。n
表示的是至少有效數字的位數,不夠前面補零。負號的有無表示的是對齊方式。沒有負號表示的是默認右對齊。有則表示默認左對齊。
%f----以定點十進制顯示,并占用最少的字符空間。
%10.3f-----以定點十進制顯示,并且總共占用10個字符空間,其中小數點后面保留3位有效數字。(記住小數點也占用一個字符)。
- 這里總結一下,對于
%m.nf
和%m.nd
相比,負號的有無功能是一致的,m
和n
則各有不同,f
結尾的m
表示的總共的字符數,d
結尾的m
表示的是至少的字符數,f
結尾的n
表示的是保留的小數的位數,d
結尾的n
表示的是至少有效數字的位數,經過實際的測試,對于形如%m.nf
的n
的位數最好不要超過m
,經過測試發現在m>n
的情況下,一切正常,當m<n
的時候會發現程序也能輸出但是不是預期的結果。同時如果你變量的本身的位數超過了m
也會有問題。
%10.3e
----以指數的形式顯示變量x,總共占用10個字符。其他的規則和%m.nf
相似。