C:格式化輸出

數據輸出

例:

有兩個變量:
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相比,負號的有無功能是一致的,mn則各有不同,f結尾的m表示的總共的字符數,d結尾的m表示的是至少的字符數,f結尾的n表示的是保留的小數的位數,d結尾的n表示的是至少有效數字的位數,經過實際的測試,對于形如%m.nfn的位數最好不要超過m,經過測試發現在m>n的情況下,一切正常,當m<n的時候會發現程序也能輸出但是不是預期的結果。同時如果你變量的本身的位數超過了m也會有問題。

%10.3e----以指數的形式顯示變量x,總共占用10個字符。其他的規則和%m.nf相似。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容