C語言十進位制,八進位制,十六進位制輸出分析

wshngyf發表於2015-03-30
C語言可以使用三種數製表示數字,十進位制,八進位制,十六進位制。
八進位制以0開頭,十六進位制以0X或0x開頭,即使你使用%d列印,編譯器也會認為你輸入的是八進位制。

比如我們輸入020。

int x=020;
printf("%d,%o,%x\n",x,x,x);
輸出的結果是:
16,20,10

如果輸入的是

 int x=20;
printf("%d,%o,%x\n",x,x,x);
顯示結果
20,24,14
如何讓它顯示字首呢?
可以使用說明符 %#o,%#x或%#O  
int x=20;
printf("%d,%#o,%#x\n",x,x,x);
顯示結果
20,024.0x14
注意:%號後面的是字母o,列印出來的是數字0開頭,024與0X14。


相關文章