将一个整形常量赋值给变量,代码如下所示:
变量a和b相等吗?
答案是不相等的。我们知道,16进制常量以’0x’为前缀,10进制常量不需要前缀,那么8进制呢?它与10进制和16进制表示方法都不相同,它以数字’0’为前缀,这多少有点奇葩:三种进制的表示方法完全不相同。
如果8进制也像16进制那样以数字和字母表示前缀的话,或许更有利于减少软件Bug,毕竟你使用8进制的次数可能都不会有误使用的次数多!下面展示一个误用8进制的例子,最后一个数组元素赋值错误:
a[0]=106; /*十进制数106*/
a[1]=112; /*十进制数112*/
a[2]=052; /*实际为十进制数42,本意为十进制52*/
|