作业帮 > 综合 > 作业

若x为int 变量,则执行下列语句x的值为() x=65535; printf(“%d\n”,x); A.65535 B

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 14:19:26
若x为int 变量,则执行下列语句x的值为() x=65535; printf(“%d\n”,x); A.65535 B.1 C.无定值 D.-1
这个题要分两种情况考虑.在16编译系统(如TC)中,结果是-1;在32编译系统(如VC)中,结果是65535.
再问: 能解释下原因吗?
再答: 16位进制与32位二进制表示的范围不同。65535存储在16位的存储器中,溢出,刚好是-1的补码。存储在32位的存储器中不溢出,原样输出。