| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4784 人关注过本帖
标题:条件运算符的结合性(右)谢谢此贴己完成.搞清勒
取消只看楼主 加入收藏
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
条件运算符的结合性(右)谢谢此贴己完成.搞清勒
    有没有人能帮我讲解一下条件运算符的结合性???  我看过很多网站上的相关资料,可是感觉没有一个能解释的清楚,明白的.

希望有高人帮我解答一下,小弟感激不尽!!

[ 本帖最后由 gxikings 于 2009-10-29 15:46 编辑 ]
搜索更多相关主题的帖子: 结合 搞清 条件 贴己 运算符 
2009-10-29 10:53
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
例如:?a:b?c:d
2009-10-29 10:53
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
回复 3楼 m456m654
如此的运算我也知道,只是算出的结果,确不是这个样子的.

#include <stdio.h>
void main()
{
  int a=1,b=2,c=3,d=4,e=5,f=6;
  printf("%d\n",a?b:c=0?d=0:e=0);
  printf("%d %d %d %d %d",a,b,c,d,e);
}

按3楼的说话,如果这样的话,结果应该是  
  2
  1 2 0 4 0

可是实际的结果确是
 2
 1 2 3 4 5
2009-10-29 14:05
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
回复 6楼 pgy
这个我知道,所为的短路效应.但是..按照自右向左的结合性,我还是不懂为什么是这样的结果...


这个问题真的是让人头疼,
2009-10-29 15:21
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
回复 6楼 pgy
如果c=0,这个是成立的.  这个表达式的值是0,也就是"假",所以程序段是不会出错的.
2009-10-29 15:22
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
谢谢你,分己经给你了,这问题我也搞清楚了 .

a?b:c=0?d=0:e=0   根据结合方向,我们能区分出   c=0?d=0:e=0是一个条件运算符,而a ? ( b ) : (c=0?d=0:e=0)  是一个. 如果按自左往右的方式来看这个表达式,那么将成为   (a?b:c=0):d=0:e=0;了.所以,还是自右向左的结合性.谢谢你们.再次感谢
2009-10-29 15:44
gxikings
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2009-10-29
收藏
得分:0 
        嘿嘿.
2009-10-29 15:46
快速回复:条件运算符的结合性(右)谢谢此贴己完成.搞清勒
数据加载中...
 
   



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

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