| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:有个疑问想请教下!
取消只看楼主 加入收藏
彬life
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2011-3-9
结帖率:0
收藏
 问题点数:0 回复次数:2 
有个疑问想请教下!
课本上有这样一段关于整型数据溢出的代码
 #include<stdio.h>
 void main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%d",a,b);
}
运行结果为:32767,-32768


课本说为了防止这种整型数据溢出的情况,要将变量b改为long型,同时将a+1改为a+1L,

为什么把b改为long型后还要改a+1为a+1L,不改的话可以吗
搜索更多相关主题的帖子: include 课本 
2011-07-02 15:43
彬life
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2011-3-9
收藏
得分:0 
main()
{
 long int a,b;
 a=32767;
 b=a+1;
 printf("%d,%d",a,b);
 getch();
}
运行结果:
32767,0

为什么会这样呢?
2011-07-02 21:52
彬life
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2011-3-9
收藏
得分:0 
回复 3楼 loveshuang
main()
{
 long int a,b;
 a=32767;
 b=a+1;
 printf("%d,%d",a,b);
 getch();
}
运行结果:32767,0


请问为什么会这样呢?
2011-07-02 21:54
快速回复:有个疑问想请教下!
数据加载中...
 
   



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

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