unsigned short A = 10;pr

9 查阅
unsigned short A = 10;printf("~A = %u\n", ~A);char c=128;printf("c=%d\n",c);输出

参考答案:

正确答案:

\r\n

第一题,~A =0xfffffff5,int值 为-11,但输出的是uint。所以输出4294967285
第二题,c=0x10,输出的是int,最高位为1,是负数,所以它的值就是0x00的补码就是128,所以输出-128。
这两道题都是在考察二进制向int或uint转换时的最高位处理。