下列代码的运行结果()
1
2
3
short i=65537;
int j=i+1;
printf(“i=%d,j=%d\n”, i, j);
i=1,j=2
short型为2个字节,16bit
65537二进制1 0000 0000 0000 0001需要17bit表示,最高位溢出,因此i=1
j=i+1=2
short类型的数据占用2个字节16位,可表示的最大整数值为65535,即1111 1111 1111 1111,而65537转换成二进制为1 0000 0000 0000 0001,最高位的1溢出,因此i的值为0000 0000 0000 0001,即为1,而j=i+1,故j=2。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。