单选题 执行以下程序后,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。