| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:为什么以下程序不会溢出。
只看楼主 加入收藏
assassin_47
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
为什么以下程序不会溢出。
有符号整数signed short int,取值范围:-32768~32767

signed short int k;
k=32768;
printf("%d",k);

32768已超范围,但会显示为 -32768 而不是溢出。如此程序正常运行但已不是我希望的结果。为什么它要绕回去呢?这样对于判断错误无益。

[ 本帖最后由 assassin_47 于 2014-3-6 21:27 编辑 ]
2014-03-06 21:26
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:10 
你觉得应该是几呢?


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-03-06 21:33
assassin_47
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-6
收藏
得分:0 
以下是引用蚕头燕尾在2014-3-6 21:33:35的发言:

你觉得应该是几呢?


应该直接报告溢出错误,那后停止,什么也不干。
2014-03-06 21:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
以下是引用assassin_47在2014-3-6 21:36:48的发言:


应该直接报告错误,那后停止,什么也不干。

做为INT型   你这种想法基本是不会出现的

DO IT YOURSELF !
2014-03-06 21:38
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
对的,我也没见过因为数据溢出而报告错误程序停止的。

不都是循环的么,不会爆表的,是转圈循环的

因为我感觉道理上讲,你并没有非法的操作……

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-03-06 21:43
assassin_47
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-6
收藏
得分:0 
以下是引用wp231957在2014-3-6 21:38:40的发言:


做为INT型   你这种想法基本是不会出现的

你好。在VB里也有整形数据类型,但超过了就溢出停止呢。
2014-03-06 21:51
快速回复:为什么以下程序不会溢出。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011833 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved