菜鸟求助关于八进制数。
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