|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 溢出问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
530
人关注过本帖
标题:
溢出问题
只看楼主
加入收藏
nbaqqqq
等 级:
论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:6
溢出问题
#include"stdio.h"
int main()
{
int sum;
sum=1*2*3*4*5*6*7*8*9*10;
printf("%d",sum);
int输的表示范围为-32768~32767
}
结果是3628800
我用VB的intger溢出
用VC又不会溢出,int输的表示范围为-32768~32767 ,应该会溢出的啊,请问大家这是为什么?
2010-03-14 11:01
举报帖子
使用道具
赠送鲜花
hahayezhe
来 自:湖南张家界
等 级:
贵宾
威 望:
24
帖 子:1386
专家分:6999
注 册:2010-3-8
第
2
楼
收藏
得分:5
当你数值过大时 默认int 变为 long int了 你要现定义short int再试试
2010-03-14 11:08
举报帖子
使用道具
赠送鲜花
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
3
楼
收藏
得分:5
你的sizeof(int)是等于几呀,等于四的话足已,等于二的话就是你说的情况了
2010-03-14 11:11
举报帖子
使用道具
赠送鲜花
kingdoking
等 级:
新手上路
帖 子:3
专家分:5
注 册:2007-12-8
第
4
楼
收藏
得分:5
由于语言差义,对整型 int 定义范围不同,VC用四字节定义了 int ,那么范围就是2地32次方 ,足以容纳你的结果,
VB采用2个字节定义整型,所以导致溢出!
2010-03-14 11:16
举报帖子
使用道具
赠送鲜花
nbaqqqq
等 级:
论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
第
5
楼
收藏
得分:0
我改了下
#include"stdio.h"
int main()
{
short int i,n,sum,j;
sum=0;
n=1;
for(i=1;i<=10;i++)
{
n=n*i;
sum=sum+n;
}
printf("%d\n",sum);
j=sizeof(short int);
printf("%d",j);
return 0;
}
结果是
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
溢出了怎么不报错
2010-03-14 13:16
举报帖子
使用道具
赠送鲜花
小访客
等 级:
论坛游民
帖 子:24
专家分:18
注 册:2009-11-10
第
6
楼
收藏
得分:5
short int 的范围是-32767~32767
它是一个循环 所以溢出后系统不会报错
2010-03-14 13:56
举报帖子
使用道具
赠送鲜花
nbaqqqq
等 级:
论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
第
7
楼
收藏
得分:0
谢谢各位
2010-03-14 16:09
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
溢出问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.035043 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved