| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1030 人关注过本帖
标题:C语言练习中发现个错误,自己无法解决。
只看楼主 加入收藏
xiao33477
Rank: 1
等 级:新手上路
帖 子:26
专家分:6
注 册:2012-1-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
C语言练习中发现个错误,自己无法解决。
main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    if ((a<30&&b>5000)||(a>30&&b>30000))
        printf("111");
    else
        printf("000");
    getch();
}
这代码,我输入后面个条件,即a>30,b>30000的条件的时候,当b=32768及以上的时候,结果却输出000.而不是111,请问为什么???
搜索更多相关主题的帖子: C语言 
2012-01-07 22:19
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:20 
楼主很厉害,32768这个数是自己试出来的么?
c语言中int的表示范围是-32768~32767,超过的都overflow了

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-01-07 22:22
xiao33477
Rank: 1
等 级:新手上路
帖 子:26
专家分:6
注 册:2012-1-4
收藏
得分:0 
。。。我试的。。。。
  32767,貌似前面见过。。 忘记了,我的错啊。。
2012-01-07 22:23
linxiaobo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:20
注 册:2012-1-7
收藏
得分:0 
值越界实在是大问题
2012-01-07 22:46
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
超过int型的范围了,就要用到long int了,简写为long;
2012-01-08 03:36
mzl296547410
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2012-1-6
收藏
得分:0 
我一看吓了我一跳,这都能试出来,不知道试了多少次,呵呵,overflow
2012-01-08 10:41
xiao33477
Rank: 1
等 级:新手上路
帖 子:26
专家分:6
注 册:2012-1-4
收藏
得分:0 
回复 6楼 mzl296547410
跳跃着试啊。又不是一个一个的试。。
2012-01-08 13:02
xiao33477
Rank: 1
等 级:新手上路
帖 子:26
专家分:6
注 册:2012-1-4
收藏
得分:0 
回复 5楼 小赵q1
long int,随时可以用吗?还是只有范围之外的时候能用呢?
2012-01-08 13:03
qq267165295
Rank: 1
等 级:新手上路
帖 子:21
专家分:2
注 册:2012-1-6
收藏
得分:0 
越界了- -
2012-01-08 14:59
chanbo
Rank: 2
来 自:陕西咸阳
等 级:论坛游民
帖 子:38
专家分:74
注 册:2011-11-26
收藏
得分:0 
long int  只是多占些内存而已,需要的话是可以用的。
2012-01-09 01:00
快速回复:C语言练习中发现个错误,自己无法解决。
数据加载中...
 
   



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

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