| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 750 人关注过本帖
标题:新手,请各大侠帮忙!谢谢
只看楼主 加入收藏
u2jrmao
Rank: 2
等 级:论坛游民
帖 子:20
专家分:11
注 册:2010-3-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
新手,请各大侠帮忙!谢谢
#include<stdio.h>
viod main()
{
    int a,b;
    a=32767;
    b=a+1;
     
     
    printf("%d,%d\n",a,b);
}
既然int 取值范围是-32768~32767;为什么上述输出的是32767,32768;

[ 本帖最后由 u2jrmao 于 2010-4-3 17:33 编辑 ]
2010-04-03 17:12
断魂雁
Rank: 1
等 级:新手上路
帖 子:10
专家分:3
注 册:2010-4-3
收藏
得分:3 
不是啊,输出的结果是 32767,-32768
你再试试啊
2010-04-03 18:00
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:5 
long
2010-04-03 18:13
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:3 
二楼说的对,输出结果是   32767,-32768
        你可以把他理解为一个循环,就是32767再往上加1,就变为了-32768了,就是进位了嘛。。。。

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-03 18:16
u2jrmao
Rank: 2
等 级:论坛游民
帖 子:20
专家分:11
注 册:2010-3-25
收藏
得分:0 
我用的是Visual c 6.0编译器 是不是这个问题呢 总之输出答案都是一样
2010-04-03 19:21
美苏争霸
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-4-3
收藏
得分:0 
嘿嘿 路过
2010-04-03 19:25
ggvvcc
Rank: 3Rank: 3
来 自:山东临沂
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2010-4-3
收藏
得分:9 
在TC中一个整型数据占2个字节,而在VC中一个整型数据占4个字节,所以你加1它是不会溢出的。
2010-04-03 20:02
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:0 
不同系统Inct的长度不同,C规则是把char作为一个字节标准,但是有的机器上char是16位的,所以int两个节,是32位。
也就是我们常说的四个字节
2010-04-03 23:26
瞪谁谁怀孕
Rank: 1
来 自:广西壮族自治区柳州市
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-1
收藏
得分:0 
TC已经濒临淘汰,楼主换个编译器吧!
2010-04-04 05:32
快速回复:新手,请各大侠帮忙!谢谢
数据加载中...
 
   



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

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