http://c.biancheng.net/view/159.html
%d | 按十進制整型數據的實際長度輸出。 |
%ld | 輸出長整型數據。 |
%md | m 為指定的輸出字段的寬度。如果數據的位數小於 m,則左端補以空格,若大於 m,則按實際位數輸出。 |
%u | 輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然后輸出。但編程的時候最好不要這么寫,因為這樣要進行一次轉換,使 CPU 多做一次無用功。 |
%c | 用來輸出一個字符。 |
%f | 用來輸出實數,包括單精度和雙精度,以小數形式輸出。不指定字段寬度,由系統自動指定,整數部分全部輸出,小數部分輸出 6 位,超過 6 位的四舍五入。 |
%.mf | 輸出實數時小數點后保留 m 位,注意 m 前面有個點。 |
%o | 以八進制整數形式輸出,這個就用得很少了,了解一下就行了。 |
%s | 用來輸出字符串。用 %s 輸出字符串同前面直接輸出字符串是一樣的。但是此時要先定義字符數組或字符指針存儲或指向字符串,這個稍后再講。 |
%x(或 %X 或 %#x 或 %#X) | 以十六進制形式輸出整數,這個很重要。 |
%g用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時占寬度較小的一種),且不輸出無意義的0。即%g是根據結果自動選擇科學記數法還是一般的小數記數法
printf("%g\n", 0.00001234);
printf("%g\n", 0.0001234);
printf("%.2g\n", 123.45);
printf("%.2g\n", 23.45);
上面四句輸出結果為:
1.234e-05
0.0001234
1.2e+02
23
對於指數小於-4或者大於給定精度的數值,按照%e的控制輸出,否則按照%f的控制輸出.