C语言问题

C语言中遇到一个数怎么知道它是十进制、八进制、还是十六进制?
比如int 012 ,10 ;怎么前者就是八进制而后者则是十进制呢?
还有int 后面跟的数一定要是十进制吗?

(1)十进制整型常量
这种整型常量只能出现0~9之间的数字,可带正负号,但多个数字的常量不能以0开头!
例如:0 1 321 -76
(2)八进制整型常量
这种整型常量是以数字0开头的八进制数字串。其中,数字为0~7。也就是说没8、9!
例如:0111(十进制73) 011(十进制9)
(3)十六进制整型常量
这种常量是以0x或0X开头的十六进制数字串。其中每个数字可以是0~9、a~f或A~F中的数字或英文字母。
例如:0x11(十进制17) 0Xa5(十进制165)

现实生活你学的就是十进制数,所以在编程的时候只管用十进制数!不要用别的,除非特别要求!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-03
以0开头的就是8进制如0123
以0x开头的就是16进制如0xabcd
其他没前缀的就是10进制数
int a=10, b=012 , c=0xa
他们值是相等的。
第2个回答  2011-07-03
第一种情况
int a=012,b=12,c=0x12; //第一个12是8进制,第二个12是10进制,第三个12是16进制。

第二种情况
char *p="\12\x12"; //第一个12是8进制,第二个12是16进制。
第3个回答  2011-07-07
同意 lqwangjing

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网