C语言相关题目

[复制链接]
查看11 | 回复2 | 2009-7-3 09:28:28 | 显示全部楼层 |阅读模式
a声明的是无符号整数,赋了32768后,值应该是10000000 00000000.但%d是把参数当成有符号整数来输出.所以把10000000 00000000看成是负数补码的话,就对应负数-32768...
回复

使用道具 举报

千问 | 2009-7-3 09:28:28 | 显示全部楼层
无符号整型的输出格式应该是"%u",而不是"%d",如果写成"%d"输出的话,就默认是有符号的整型输出,两个字节的有符号整型数据的最大值是32767,所以a=32768打印出来的效果就是-32768了……...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行