非常感谢朋友的支持,不过,我始终不是很明白,我知道用%uc能达到目的,可就是搞不明白为什么用%d后的输出结果会是-1,能不能给我讲明白点!谢谢!
貌似这样:在计算机中数值是按补码形式存放的.一个正数的补码是其本身,负数的补码要取反加 1 .unsingned int a=65535在计算机中为 11111111 11111111;而%d是带符号的,所以要进行换算.即 -1 取反 得 1000000 00000001, 符号位不变.所以得到 -1.
当你知道INT型数据的取值范围就知道怎么会是这样的答案了