| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 651 人关注过本帖
标题:[求助]
只看楼主 加入收藏
秋天的果实
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-3-16
收藏
 问题点数:0 回复次数:9 
[求助]
有如下
          X=1
          J=(++X)+(++X)+(++X)
     执行完后J的直是多少?为什么不是9即2+3+4=9呢?

还有A+++B等价(A++)+B还是等价A+(++B)为什么?

           请详细讲解再此谢过
2005-03-17 17:56
xyj
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-3-14
收藏
得分:0 
理论上来说结果应该是J=4+3+2=9
但是编译器先计算出X的最后值为4,再相加,也就是4+4+4了,所以结果为12

[此贴子已经被作者于2005-3-17 18:08:00编辑过]



岂能尽如人意,但求无愧于心!
2005-03-17 18:02
秋天的果实
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-3-16
收藏
得分:0 
为什么没人理我!!!

多谢大哥指点,但是我没有看懂是什么意思,你能把你的思路说一下么?请原谅小弟的资质驽钝~~ 再此谢过
2005-03-17 18:02
秋天的果实
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-3-16
收藏
得分:0 
还有那一问等价那一个呀?????

多谢大哥指点,但是我没有看懂是什么意思,你能把你的思路说一下么?请原谅小弟的资质驽钝~~ 再此谢过
2005-03-17 18:16
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
关于第一问
b=(++i)+(++i)+(++i);
他是一个这样计算过程
先计算两个(++i)  这样i=3
表达式变成b=3+3+(++i)     // i=3
=>b=6+4;     // i = 4
=>b= 10;

现在要去上课了    88

动于心而静如水
2005-03-17 18:36
flyicefire
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-17
收藏
得分:0 
回复:还有A+++B等价(A++)+B还是等价A+(++B)为什么?

C编译系统在处理时尽可能多地(自左而右)将若干个字符组成一个运算符(在处理标志符、关键字时也按同一原则处理),所以A+++B等价(A++)+B而不是A+(++B)


2005-03-17 20:29
flyicefire
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-17
收藏
得分:0 
呵呵不过我试了一下,在TCPP里时这样的

但在TurboC里是相反的,就是等价于A+(++B)了

所以要看你的编译系统了
2005-03-17 20:49
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
除非是考试中一般是不可能看到这样的写法的

动于心而静如水
2005-03-17 21:28
mengge
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-2-10
收藏
得分:0 
  X=1
          J=(++X)+(++X)+(++X)


我想可能是这样的
由于++优先级高于+
所以先进行3次++X
这样X=1就变成X=4这样J=4+4+4=12
2005-03-17 22:09
秋天的果实
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-3-16
收藏
得分:0 
谢谢拉

多谢大哥指点,但是我没有看懂是什么意思,你能把你的思路说一下么?请原谅小弟的资质驽钝~~ 再此谢过
2005-03-18 12:08
快速回复:[求助]
数据加载中...
 
   



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

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