C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 208|回复: 3

初学者——关于整型变量数据溢出的问题 [复制链接]

Rank: 1

主题
0
帖子
2
C币
3 枚
在线时间
0 小时
发表于 2010-9-6 21:48:05 |显示全部楼层
初程序:
#include<stdio.h>
void main()
{
int a,b;
a=32767;
b=a+1;
printf("b=%d\n",b);
}

最后运行结果应该是:b=-32768
原因是由于无符号“int”型整型变量取值范围为-32768~32767,数据溢出。
书上说如果把“int"改成“unsigned int”或者“long"就可以得出32768,但是我用turbo c++3.0却依然得出-32768的结果,原因是什么?
请高手指教,谢谢。

Rank: 8Rank: 8

主题
24
帖子
636
C币
758 枚
在线时间
504 小时
发表于 2010-9-6 21:52:10 |显示全部楼层
我用VC输出的就是正的32768 turbo C++3.0 int在这两种编译器里占用的字节数是不同的
因为执着,所以成功

Rank: 1

主题
0
帖子
2
C币
3 枚
在线时间
0 小时
发表于 2010-9-6 21:59:58 |显示全部楼层
2# 傲天鹰

版主,我是个学生刚开始学习C语言。
教材是谭浩强的…《c程序设计》
教材中的例子有用两种程序编写的
按普及及应用率来说,哪一个比较常用呢?

Rank: 8Rank: 8

主题
24
帖子
636
C币
758 枚
在线时间
504 小时
发表于 2010-9-6 22:02:54 |显示全部楼层
什么两种程序书写的啊?你的意思是哪个编译器吗?我一直用VC不知道别人用的什么!呵呵
因为执着,所以成功
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 22:57

©2009-2011 cyuyan.com.cn

回顶部