| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1555 人关注过本帖
标题:?:运算
取消只看楼主 加入收藏
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
结帖率:83.33%
收藏
 问题点数:0 回复次数:1 
?:运算
main()
{
 int x=1,y=0;
 printf("%d,",x-->(y+x)?5:25>y++?'1':'2');
 }
输出为5,为什么呀?
 ?:运算不是从右向左进行的吗?
搜索更多相关主题的帖子: 运算 
2007-12-10 20:21
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
原帖由 [bold][underline]starwing[/underline][/bold] 于 2007-12-11 03:32 发表 [url=http://bbs.][/url]
a?b:d?e:f;这个有两种看法
(a?b:d)?e:f;和a?b:(d?e:f);
由于?:运算符是右结合的,所以应该是后面一种……
而且对于后自加操作符……嗯……这么说,到现在为止,发现自加操作会在“;”,“,”,“?”三个操作之前发生,也就是说,如果a ...

明白了,原来如此,谢谢了
2007-12-13 11:10
快速回复:?:运算
数据加载中...
 
   



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

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