当前位置: 代码迷 >> C语言 >> [问题已解决][求助]C的几道题
  详细解决方案

[问题已解决][求助]C的几道题

热度:119   发布时间:2006-07-16 01:33:51.0
以下是引用穆扬在2006-7-15 22:53:45的发言:
试出什么了

main()
{
int x,y;
x=32764;
y=x+5;
printf("%d",y);
}

x=32764 01111111 11111100
-32767 10000000 00000001

----------------解决方案--------------------------------------------------------
以下是引用摄政王:多尔滚在2006-7-15 23:50:18的发言:
ni shi shi TC jiu zhi dao ni de dui bu dui le


ni yong de bian yi qi "int" is 32 wei de, zi ji qu xiang ba, mei shi jian he ni zai zhe zheng

晕 你是汉语拼音+英语 一起用啊?


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-15 23:10:28
jklm02

等 级:新手上路
帖 子:11
专家分:0
注 册:2006-7-13
  得分:0 
以下是引用mp3aaa在2006-7-15 21:59:45的发言:
2.main()
{ unsigned a=32768;int b;
b=a;
printf("b=%d\n",b);
}
输出结果是: b= -32768 这怎么算的啊?

32768 超出了 INT 的取值范围

int 的取值范围是-32768----32767,当32767+1的时候,他的值就为-32768.
----------------解决方案--------------------------------------------------------
循环呗~饶了一圈.又从最小的数开始咯.没什么好大惊小怪的!
----------------解决方案--------------------------------------------------------

提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 01:24:10
走刀口→超

等 级:贵宾
威 望:20
帖 子:5028
专家分:0
注 册:2006-3-14
  得分:0 
我理解是循环.无论如何可以显示的数字就是这些范围里面的.就是转几圈的问题!
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 01:35:14
穆扬

等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
  得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 01:35:49
走刀口→超

等 级:贵宾
威 望:20
帖 子:5028
专家分:0
注 册:2006-3-14
  得分:0 
不是13点.因为钟上面么有13嘛...
通俗才容易理解...能想明白就行咯!
----------------解决方案--------------------------------------------------------
  相关解决方案