| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:为什么以下程序不会溢出。
取消只看楼主 加入收藏
assassin_47
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
为什么以下程序不会溢出。
有符号整数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
assassin_47
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-6
收藏
得分:0 
以下是引用蚕头燕尾在2014-3-6 21:33:35的发言:

你觉得应该是几呢?


应该直接报告溢出错误,那后停止,什么也不干。
2014-03-06 21:36
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.019850 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved