搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 简单的程序问题
标题:
简单的程序问题
只看楼主
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
结帖率:
100%
楼主
问题点数:0 回复次数:4
简单的程序问题
#include <stdio.h>
void main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%d\n",a,b);
}
这个程序是潭浩强的C语言书上例子,书上的输出结果是32767,-32768
而我用visual studio c++ 6.0 编译的结果是32767,32768
两个相差一个负号,请问大虾熟对熟错?????
搜索更多相关主题的帖子:
include
visual
C语言
2008-08-14 22:41
csynyk
等 级:
新手上路
威 望:
1
帖 子:114
专家分:0
注 册:2008-8-9
第
2
楼
得分:0
潭浩强的C语言书上例子是以16位系统来举列的!现在的机器都是32位的!
http://blog./csynyk
2008-08-14 22:53
foxpeter
等 级:
新手上路
帖 子:10
专家分:0
注 册:2008-7-11
第
3
楼
得分:0
你用TC就能输出书里的结果了
2008-08-14 23:01
ronaldfree
等 级:
新手上路
帖 子:36
专家分:0
注 册:2008-8-2
第
4
楼
得分:0
2楼正解。16位机上,int型数据的范围为-32768~32767,32767+1溢出了,就从最大的正数变成了最小的负数。内存中的用16进制数表示为0xffff,在16位系统里解释成-1,在32位系统里为解释为32768(因为没有溢出)
2008-08-14 23:13
小小熊宝宝
来 自:江苏无锡
等 级:
论坛游民
威 望:
2
帖 子:183
专家分:38
注 册:2008-8-12
第
5
楼
得分:0
谢谢大家的帮助,明白了,
2008-08-14 23:36
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-228340-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.045825 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved