| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6496 人关注过本帖
标题:三元运算符嵌套问题
取消只看楼主 加入收藏
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
 问题点数:0 回复次数:9 
三元运算符嵌套问题
题是这样的,
int x=1,y=0
求 表达式 x-->(y+x)?5:25>y++?'1':'2' 的值
答案的 5,,上机运行的答案也是 5 ,,我不知道怎么得出来,
请大家帮我分析一下,给我指点一下,谢谢! 难道就是三元运算符短路?
也不太对,应该是自右向左结合吧,反正是我晕了,我想了整整两天了
请大家帮帮我,,,谢谢!!!
搜索更多相关主题的帖子: 运算符 三元 嵌套 
2006-09-14 15:07
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

不是感觉呀,就是应该,自右向左结合,书上这么写的呀,,25>y++?'1':'2' ,然后再,x-->(y+x)?5:‘1’,
还有就是关于那个括号的问题,,我已经很晕了,,

[此贴子已经被作者于2006-9-14 16:13:49编辑过]


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-14 16:12
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

不是5的,,那是什么?49吗,我就是想知道,怎么算出来的最后答案,,书上说的是自右向左运算,
我的机器运行的答案也是5,,和书上的答案是一样的,请求大家快帮帮我吧,谢谢。


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-18 19:48
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 
运算:-- , ++ 是什么意思 ?

运行x-->(y+x)?5:25>y++?'1':'2' 这个表达式以后,
x=0 y=1 吗?

25>y++?'1':'2' 即25>1?‘1’:’2‘ 结果 为'1'

x-->(y+x)?5:‘1’ 即 1 > 1 ? 5: '1' 结果 怎么能为 5 呢?

ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-19 21:12
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 
请 zzc0816 明示好吗,我已经闷了好多天了,受不了!!!一定详细帮我讲明白,,会不会是,三元运算符短路,,的情况呢,,我在机上测试的,,最后,x 和y的值都是 0 呀,,

ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-19 21:15
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

致: cdmacl ,同志
int x=1,y=0
 x-- >(y+x)?5:‘1’
 ∧
这个部分按照语句编译
所以这里的x=1 而到了(x+y)时x=0了

在这个时候,y 已经变成 1 了

x-->(y+x)?5:'1' 1>(1+0) 返回'1' 即 49
我还是算不出 5 呀,,


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-20 20:43
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

那就是说,自左向右,,运算了,,,


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-20 21:15
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

或者是这种情况称着是:三元运算的短路现象呀,,,


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-20 21:23
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 

致: 3077965 同志

x-->(y+x)?5:25>y++?'1':'2'

你为什么说,(y+x) 是(0+0)
就算因为()的优先级高于++ 可那x原来就等于1呀,先算撟括号不还 (1+0) 吗?

能不能帮我清楚完整的说一下,谢谢你,为这一个小题我已经帮了这么久了,,谢谢大家,帮帮我呀,,,


ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-21 19:44
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
得分:0 
谢谢大家,这几天,我也算总结出点头绪了,谢谢
我不得不做这种题,,这是,考研真题,,也是谭叔叔,出的习题册上的原题,,
不过谭叔叔,出了两道这种题,,呵呵,,
int x=1,y=0 求 表达式值 x-->(y+x)?5:25>y++?'1':'2' 答案是 5 上机运行 5 (真题)

int x=1,y=0 求 表达式值 x-->(y+x)?10:12.5>y++?'A':'B' 答案是 65 上机运行 10

我被彻底打败,,估计这研究生又没戏了,,郁闷

ξ蜗牛ξ£说等我爬上树,我就,我就会变成蝴蝶了£
2006-09-22 16:51
快速回复:三元运算符嵌套问题
数据加载中...
 
   



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

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