已知:unsigned int x=65535;则执行语句printf(“%d”,x);为什么输出结果为 -1?
你在tc上的嘛? VC6 直接输出65535
在TC下-1 是因为溢出的原因 TC是16位的编译器
65535 的二进制数:16个1;
取其补码(就是取反码后+ 1)得到的就是00000000 + 1
就是00000001,就是1;加上符号,就是-1了;