大一上题,八进制加减,printf输出

img


91题为什么这样输出啊?救命

011八进制转十进制就是9
八进制只有0到7的数字,逢8进1.
第二位的1表示十进制数8
8再加1就是9

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

八进制011的值是8^0*1+8^1*1+8^2*0 = 9,所以k的值是9
printf("%d",k++),先执行printf("%d",k),显示9,然后执行k++
所以显示的是9

img

我觉得是3😭

8进制数011 转为为十进制 为 0 * 8^2+1 * 8^1+1 * 8^0=0+8+1=9
代码实现验证:

#include<stdio.h>

int main(){
    int k=011;
    printf("%d\n",k++);
    return 0;
}


运行结果如图:

img


希望对题主有所帮助,望采纳!