问题
单项选择题
执行以下程序后,x的值为( )。 unsigned int x=65535; printf("%d\n",x);
A.65535
B.1
C.有错误
D.-1
答案
参考答案:D
解析: x变量定义为无符号整型。格式控制符d是输出带符号的十进制整数,即输出-1。65535在内存中各位都为1,作为带符号数输出时最高位为1即数值为负。在内存中数据都以其补码形式保存,11111111变为原码为10000001即-1。