搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 我认为是答案错了。
标题:
我认为是答案错了。
只看楼主
梦想中国
等 级:
新手上路
威 望:
5
帖 子:539
专家分:0
注 册:2006-2-26
第
21
楼
得分:0
应该是21,可能是编译器问题。用VC
[此贴子已经被作者于2006-3-8 21:33:48编辑过]
2006-03-08 21:12
showna
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-10-27
第
22
楼
得分:0
我用TC ,得出的结果是21
2006-03-08 22:54
梦想中国
等 级:
新手上路
威 望:
5
帖 子:539
专家分:0
注 册:2006-2-26
第
23
楼
得分:0
以下是引用
showna
在2006-3-8 22:54:00的发言:
我用TC ,得出的结果是21
不会吧,我用TC2.0,和TC3.0的结果都是20
2006-03-08 23:01
一一凌
等 级:
新手上路
帖 子:45
专家分:0
注 册:2006-2-16
第
24
楼
得分:0
再重复一次,答案没错,是算符的优先级的问题.因为单目运算符的级别比双目的高.因此先进行自增运算,然后是双目的加法;
7+7+7=21
2006-03-08 23:03
zhangjuan
等 级:
新手上路
帖 子:992
专家分:0
注 册:2006-1-19
第
25
楼
得分:0
这个问题怎么还在讨论啊,这是根据不同的编译器而定的,
2006-03-08 23:05
mwjpiero
等 级:
新手上路
帖 子:68
专家分:0
注 册:2006-3-4
第
26
楼
得分:0
支持楼上的小妹妹
2006-03-08 23:18
DaytonaUSA
等 级:
新手上路
威 望:
1
帖 子:58
专家分:3
注 册:2004-4-12
第
27
楼
得分: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
梦想中国
等 级:
新手上路
威 望:
5
帖 子:539
专家分:0
注 册:2006-2-26
第
28
楼
得分: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
一一凌
等 级:
新手上路
帖 子:45
专家分:0
注 册:2006-2-16
第
29
楼
得分:0
19楼的,你说的我验证了.是这样的情况.我分析是顺序点的问题,因为你用 printf时没有顺序点";"因此编译器并不是一定要在表达式完前执行全部的自增自减运算,这个要看不同编译器而定了.而如果定义t=(++i)+(++i)+(i++);在顺序点前一定要执行全部的算符,因此
我觉得如果是输出变量t的值的话,不管什么编译器(同级的从左或从右开始算)结果都应该是21.但是应该尽量避免出现printf("%d",(++i)+(++i)+(i++));这样的语句.
2006-03-09 15:49
simpley
等 级:
新手上路
帖 子:262
专家分:0
注 册:2005-2-23
第
30
楼
得分:0
这样的题太无聊了.
回字有4种写法你知道吗
[此贴子已经被作者于2006-3-9 16:01:33编辑过]
myQQ::445750010
2006-03-09 16:01
35
3/4页
1
2
3
4
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-48811-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.622922 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved