C語言格式化輸入輸出


%i和%d之間的區別

作為匹配整數的轉換說明,printf格式串中兩者並沒有區別,但是在scanf格式串中%d只能匹配十位制整數,而%i可以匹配八進制(前綴為0,如086)、十進制或十六進制(前綴0x或0X,如0x55)。如果在輸入過程中意外的加上一個0,會產生意想不到的錯誤,因此盡量避免使用%i。

%d %e %f %g區別

示例代碼

#include <stdio.h>

 

int main(void)

{

    printf("%-6d,%10d\n", 86, 1040);

    printf("%12.6e\n", 30.253);

    printf("%.4f\n", 83.162);

    printf("%-6.2g\n", .0000009979);

    printf("%6.2g\n", 9979.79);

    printf("%6.3g\n", 9979.79);

    printf("%6.4g\n", 9979.79);

    printf("%6.5g\n", 9979.79);

    printf("%10.4g\n", 9979.79);

}

程序輸出

86    ,      1040

3.025300e+01

83.1620

1e-06 

 1e+04

9.98e+03

  9980

9979.8

      9980

d —— 表示十進制形式整數,添加負號表示左對齊,默認為右對齊,6和10表示顯示的數字個數。

e —— 表示指數(科學計數法)形式的浮點數。12.6表示12個有效數字(包括符號)和精確到小數點后6位。

f ——  表示“定點十進制”形式的浮點數,沒有指數。同e

g —— 表示指數形式或定點十進制形式的浮點數,適合無法預知數的大小或者數值變化大的情況下使用。大小適中時g會采用定點十進制,如果顯示非常大或非常小的數,g會轉換成指數形式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM