搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 条件运算符的结合性(右)谢谢此贴己完成.搞清勒
标题:
条件运算符的结合性(右)谢谢此贴己完成.搞清勒
取消只看楼主
gxikings
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
结帖率:
50%
楼主
已结贴
√
问题点数:20 回复次数:6
条件运算符的结合性(右)谢谢此贴己完成.搞清勒
有没有人能帮我讲解一下条件运算符的结合性??? 我看过很多网站上的相关资料,可是感觉没有一个能解释的清楚,明白的.
希望有高人帮我解答一下,小弟感激不尽!!
[
本帖最后由 gxikings 于 2009-10-29 15:46 编辑
]
搜索更多相关主题的帖子:
结合
搞清
条件
贴己
运算符
2009-10-29 10:53
gxikings
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
2
楼
得分:0
例如:?a:b?c:d
2009-10-29 10:53
gxikings
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
3
楼
得分: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
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
4
楼
得分:0
回复 6楼 pgy
这个我知道,所为的短路效应.但是..按照自右向左的结合性,我还是不懂为什么是这样的结果...
这个问题真的是让人头疼,
2009-10-29 15:21
gxikings
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
5
楼
得分:0
回复 6楼 pgy
如果c=0,这个是成立的. 这个表达式的值是0,也就是"假",所以程序段是不会出错的.
2009-10-29 15:22
gxikings
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
6
楼
得分: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
等 级:
新手上路
帖 子:11
专家分:3
注 册:2009-10-29
第
7
楼
得分:0
嘿嘿.
2009-10-29 15:46
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-290345-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.020705 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved