| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1571 人关注过本帖
标题:我认为是答案错了。
只看楼主 加入收藏
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 
应该是21,可能是编译器问题。用VC

[此贴子已经被作者于2006-3-8 21:33:48编辑过]


2006-03-08 21:12
showna
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2005-10-27
收藏
得分:0 
我用TC ,得出的结果是21
2006-03-08 22:54
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 
以下是引用showna在2006-3-8 22:54:00的发言:
我用TC ,得出的结果是21

不会吧,我用TC2.0,和TC3.0的结果都是20


2006-03-08 23:01
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
得分:0 
再重复一次,答案没错,是算符的优先级的问题.因为单目运算符的级别比双目的高.因此先进行自增运算,然后是双目的加法;
7+7+7=21
2006-03-08 23:03
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 
这个问题怎么还在讨论啊,这是根据不同的编译器而定的,

2006-03-08 23:05
mwjpiero
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-3-4
收藏
得分:0 

支持楼上的小妹妹

2006-03-08 23:18
DaytonaUSA
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:3
注 册:2004-4-12
收藏
得分:0 
顺序

1、(++i) ->a

2、(++i) ->b

3、(i++) ->c

4、k=a+b+c

My Personal Weblog: http://www.twinbee.info
2006-03-09 01:11
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 
以下是引用DaytonaUSA在2006-3-9 1:11:00的发言:
顺序

1、(++i) ->a

2、(++i) ->b

3、(i++) ->c

4、k=a+b+c


2006-03-09 15:24
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
得分:0 
19楼的,你说的我验证了.是这样的情况.我分析是顺序点的问题,因为你用 printf时没有顺序点";"因此编译器并不是一定要在表达式完前执行全部的自增自减运算,这个要看不同编译器而定了.而如果定义t=(++i)+(++i)+(i++);在顺序点前一定要执行全部的算符,因此
我觉得如果是输出变量t的值的话,不管什么编译器(同级的从左或从右开始算)结果都应该是21.但是应该尽量避免出现printf("%d",(++i)+(++i)+(i++));这样的语句.
2006-03-09 15:49
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
这样的题太无聊了.
回字有4种写法你知道吗

[此贴子已经被作者于2006-3-9 16:01:33编辑过]


myQQ::445750010
2006-03-09 16:01
快速回复:我认为是答案错了。
数据加载中...
 
   



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

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