1 根据The C programming Language(K&R C)描述,-操作符对a进行了提升整形类型(提升到了 signed int),所以以%d输出时相当于-(65535),此时65535为有符号int.
-65535 也即
1000 0000 0000 0000 1111 1111 1111 1111
取反码+1得到原码
1111 1111 1111 1111 0000 0000 0000 0001
然后取后16位 得到unsigned short int
0000 0000 0000 0001
也即1,所以以short int输出时,得到1
C语言的-操作符(负号
最新推荐文章于 2024-01-18 07:30:00 发布