写出以下程序的输出结果(答案是16,ffec,177754)main(){ int x=020,y=-20;printf("%d,%x,%o\n",x,y,y);}

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 23:27:32
写出以下程序的输出结果(答案是16,ffec,177754)main(){ int x=020,y=-20;printf(

写出以下程序的输出结果(答案是16,ffec,177754)main(){ int x=020,y=-20;printf("%d,%x,%o\n",x,y,y);}
写出以下程序的输出结果(答案是16,ffec,177754)
main()
{ int x=020,y=-20;
printf("%d,%x,%o\n",x,y,y);}

写出以下程序的输出结果(答案是16,ffec,177754)main(){ int x=020,y=-20;printf("%d,%x,%o\n",x,y,y);}
就是个内码问题嘛.
首先,x=020,就是八进制的20,换成10进制就是16了,这个不用细讲.
y是负数,就要先固定下环境了.看答案似乎是TC的环境,因为int占16位.
那么-20你可以认为是差二十到0.
就是
1111 1111 1110 1100(因为20是1 0100,两者相加为全0)
那么每4位一个十六进制数,自然就是ffec了
八进制的话,
1 111 111 111 101 100
就是177754