首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者关于八进制数

2012-09-11 
菜鸟求助关于八进制数。short c0101675printf(%o\n,c)printf(%d\n,sizeof(c))c明明是占两个字节;为

菜鸟求助关于八进制数。
short c=0101675;
printf("%o\n",c);
printf("%d\n",sizeof(c));
c明明是占两个字节;为什么输出c的结果是37777701675?

[解决办法]
像char short默认转换为int
[解决办法]
short c=0101675;
c的值已经超过short的最大范围,最终结果c是个负数-31811
printf("%o\n",c);
%o是指Unsigned octal integer类型是int,也就是说%o是按照4字节的无符号8进制打印
结果就是37777701675

热点排行