C语言的问题

[复制链接]
查看11 | 回复4 | 2013-7-7 20:24:16 | 显示全部楼层 |阅读模式
超过范围了。%d的最大范围在-32768~32767。凡是负数,均以补码的形式存在并且识别,那么首先转化成源码: 1000000000000001反码=除最高位符号位,其余按位取反=>1111111111111110补码=反码+1=>1111111111111111 最高位符号位是1,那么剩下的15个1正好是十进制32767,最高位0为正整数,1为负整数。所以-32767 -1也是如此...
回复

使用道具 举报

千问 | 2013-7-7 20:24:16 | 显示全部楼层
因为溢出了,int的有效范围为-32768~32767,比如32767+1就等于-32768,-32768+1=-32767了,所以第一个输出就是-32767,第二个输出也同理。...
回复

使用道具 举报

千问 | 2013-7-7 20:24:16 | 显示全部楼层
stdio.h是输入输出头文件想当于int main()void可有可无.都表示没有参数...
回复

使用道具 举报

千问 | 2013-7-7 20:24:16 | 显示全部楼层
超出能表示的范围了...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行