第三方公众号服务平台:又是C语言习题,帮帮忙好吗?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 18:00:03
4.设long i=65539;,执行语句printf(”%d”,i);后的输出结果是( )
A.-3 B.3
C.65539 D.数据不确定
请说明为什么是B好吗?

65539的16进制数是:10003。在内存中为 03 00 01 00。如果是16位的系统,整型只取16位,就是前2字节了:03 00 。根据高位在后原则,应为16进制0003。化为10进制还是3。所以是B。不过32位的系统int型很大的,不会超范围的。你是不是在DOS中TC2.0?

B

按照正常理解应该是65539吧。。不过好象超过long的定义了吧。。。最高65537?

B

B
因为65539二进制是10000000000000011,用%d输出是16bit输出,取后16位,所以是3。