main() { unsigned int a; int b=-1; a=b; printf("%u",a); } 程序运行后的输出结果是
main() { unsigned int a; int b=-1; a=b; printf("%u",a); } 程序运行后的输出结果是
日期:2013-06-11 10:31:58 人气:1
答案是你的机器能用int表示的最大真的-1的值
正常的32位机可以表达4294967296个数,所以答案为4294967295
你这道题就选B吧,应该是个古老的题(估计是在TC2.0上测试的)
解释如下:b=-1,是个有符号整形变量;a是个无符号整型变量,将一个有符号整型变量的值赋给一个无符号整型变量会发生“溢出”(实际上不是溢出,但是可以把他看做是溢出),由于大部分机器采用补码来表示负数,所以才产生了这个错误,有图有真相:
满意采纳,不满意请追问