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。