C语言中关于 int 型的问题。

#include<stdio.h>voidmain(){inta,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}这个程序运行后,为什么结果... #include<stdio.h>void main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%d\n",a,b);}

这个程序运行后,为什么结果是

呢?
书中说 int的取值范围是 -32768~32767
为什么b的结果是错误的呢?
展开
 我来答
百度网友f186de8
推荐于2018-05-06 · TA获得超过201个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:224万
展开全部
1. 不同的编译器int的长度不同,各种数据类型的长度也不一定相通
16位编译器int=short int=2字节
32位编辑器int=log int=4字节
具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));
2. C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296,所以你的程序可能可以运行
3. 你应该是用vs系列的编译器吧
微软把int类型分配了4个字节
就是int的范围是2147483647~-2147483648所以 可以执行

-----来自百度。
我也只是书上看到定义是: int的取值范围是 -32768~32767
自己跑了一下果然是。。。
狂夜雪碧琦
2019-12-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:839万
展开全部
在c语言中有些时候
int

char
看上去是可以通用的。
在你上面举的例子中,是以字符的形式显示
a
所表示的ascii码字符,
ascii的取值范围0~255,也就是1个字节。
char在c语言中是1个字节,而int要看不同的硬件、操作系统平台的不同而有区别,但不会小于2个字节,即最小2字节。
如果
int
类型赋值超过255时,c语言会取int
2个字节中的低字节的数据作为有效数据,也就是,350
等价于
94,因为350的低字节是94
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DOAkuang
2013-02-21 · TA获得超过1018个赞
知道小有建树答主
回答量:323
采纳率:66%
帮助的人:104万
展开全部
你是不是用的vc的编译器?
标准C中规定int是2字节。
vc编译器中,int是4字节,其范围是-2^31~2^31-1
vc编译器中,short int类型是2字节,等同于标准C中的int
你把程序中的int 前加上 short,看看结果 就对了。
追问
是不是,只有int类型的才这么“不确定”?其他类型的,例如long 的是不是就无论哪种编译器都是32位?
追答
其他类型的没研究过,不过初学者也暂时不用研究这个,也用不到,也不能考。。。
知道int这个事就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
复知司o
2019-12-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:901万
展开全部
k++为自增一
其顺序是,现将k作为表达式运算后在自增一
自增后变量k的值为11+1=12
因此两个空都是12
望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我姐是恐龙
2013-02-21 · TA获得超过542个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:198万
展开全部
你的书很原始 那时候int是16位 -32768~32767
现在的cpu都64位了 你想想 int还可能是16位么

现在的int是32了
min:-2147483648 max:2147483647

满意请采纳 不懂继续问
追问
是不是,只有int类型的才这么“不确定”?其他类型的,例如long 的是不是就无论哪种编译器都是32位?
追答
时代在变化  其实多多少少都有变化
你记住 现在的
int 32

long 32
double 64
float 32
char 8
指针 32
以后如果都128位cpu了 你说呢 肯定又会变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式