第三行printf里面65537为什么经过%hd变成二进制了?

如题所述

明确答复:十进制数1的二进制也是1,所以不要认为输出的是二进制1

%hd里的h表示短整数(short int),注意短整型(short型):占2个字节,所以只读取低16位输出

65537的二进制:0001 0000 0000 0000 0001

使用%hd格式只读取低16位:0000 0000 0000 0001,即打印1。


温馨提示:答案为网友推荐,仅供参考