輸出控制符
常用的輸出控制符主要有以下幾個:
控制符 | 說明 |
---|---|
%d | 按十進制整型數據的實際長度輸出。 |
%ld | 輸出長整型數據。 |
%md | m 為指定的輸出字段的寬度。如果數據的位數小於 m,則左端補以空格,若大於 m,則按實際位數輸出。 |
%u | 輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然后輸出。但編程的時候最好不要這么寫,因為這樣要進行一次轉換,使 CPU 多做一次無用功。 |
%c | 用來輸出一個字符。 |
%f | 用來輸出實數,包括單精度和雙精度,以小數形式輸出。不指定字段寬度,由系統自動指定,整數部分全部輸出,小數部分輸出 6 位,超過 6 位的四舍五入。 |
%.mf | 輸出實數時小數點后保留 m 位,注意 m 前面有個點。 |
%o | 以八進制整數形式輸出,這個就用得很少了,了解一下就行了。 |
%s | 用來輸出字符串。用 %s 輸出字符串同前面直接輸出字符串是一樣的。但是此時要先定義字符數組或字符指針存儲或指向字符串,這個稍后再講。 |
%x(或 %X 或 %#x 或 %#X) | 以十六進制形式輸出整數,這個很重要。 |
%x、%X、%#x、%#X 的區別
一定要掌握 %x(或 %X 或 %#x 或 %#X),因為調試的時候經常要將內存中的二進制代碼全部輸出,然后用十六進制顯示出來。下面寫一個程序看看它們四個有什么區別:
- # include <stdio.h>
- int main(void)
- {
- int i = 47;
- printf("%x\n", i);
- printf("%X\n", i);
- printf("%#x\n", i);
- printf("%#X\n", i);
- return 0;
- }
在 VC++ 6.0 中的輸出結果:
2f
2F
0x2f
0X2F