以下程序的输出结果是______。 main() { unsigned short a=65536;int b; printf("%d\n",b=a); }

admin2009-02-15  18

问题 以下程序的输出结果是______。    main()    {  unsigned short a=65536;int b;       printf("%d\n",b=a);    }

选项 A、0
B、1
C、2
D、3

答案1

解析 65536等于2的16次方,而短整型无符号数的取值范围为0~65535,65536已经超出a的存储范围,将截取溢出了的最高第17位,低16位全部为0,因此把a赋值给b,得到的是剩余的16个0,所以b的值为0。
转载请注明原文地址:https://kaotiyun.com/show/uCXp777K
0

最新回复(0)