| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 645 人关注过本帖
标题:高手分析条件符运算
只看楼主 加入收藏
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:9 
高手分析条件符运算
问题:   
 a = 3;
    b = 2;
    c = 3;
  通过这个语句:  (a>b?c>a++:(b--)>a?c++:c--);
    a,b,c最后的值是多少?
就我所知道的条件目运算:<p>?<A>:<B> 若p真则输出A;反之则输出B;
    由于++  ——的缘故,举个例子
 a++>b? A:B   若a>b  则输出A,反之输出B   //若A == a,则输出a+1;此时a=a+1
 a>b++?A:B    若a>b  则输出A,反之输出B   //此时b=b+1
 a>b?a++:b++  若a>b  则输出a,反之输出b   //若为前者a=a+1 b=b;若为后者a=a b=b+1

但是那个问题的结果我想不通,希望大神讲解他的结合性或者条件目运算的真正规则
搜索更多相关主题的帖子: 条件 
2012-06-29 16:35
zdslqy
Rank: 1
等 级:新手上路
帖 子:30
专家分:6
注 册:2012-6-26
收藏
得分:0 
条件 赋值 自增和自减都是右结合的 .算数和关系运算符是左结合的.  然后根据运算符的优先级计算 .  

运算的优先级可以百度一下嘛 .我刚好看书看到这...

18岁的年纪 .小学课程的学历 .4年纪奋斗中.
2012-06-29 16:41
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:0 
回复 2楼 zdslqy
OK 帮人就帮到底 帮到让人明白
  你说了=与没说的·分析下那条语句~!
2012-06-29 16:58
zdslqy
Rank: 1
等 级:新手上路
帖 子:30
专家分:6
注 册:2012-6-26
收藏
得分:0 
先算++ 和-- 嘛 .然后看 >  之后就是?和:了 .我也是刚学到这 .刚才计算了一下 .有点头大 .

18岁的年纪 .小学课程的学历 .4年纪奋斗中.
2012-06-29 17:23
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:20 
a>b?c>a++:(b--)>a?c++:c-- 等价于: a>b?c>a++:((b--)>a?c++:c--);

a>b时: 执行c>a++语句,a的值加1,其他值不变;

a<=b时: 执行(b--)>a?c++:c--,此时若a = b,则执行b--,c--;否则执行b--,c++;
2012-06-29 17:29
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:0 
回复 5楼 demonleer
谢谢 你的回答·,可是肿么是从左到右运算了  ·书上写的是三目运算是从右到左计算的呢
2012-06-29 19:47
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 6楼 qq383264679
你就当if...else...进行处理就行了,否则可能掉进陷阱。

★★★★★为人民服务★★★★★
2012-06-29 20:53
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
以下是引用qq383264679在2012-6-29 19:47:13的发言:

谢谢 你的回答·,可是肿么是从左到右运算了  ·书上写的是三目运算是从右到左计算的呢


说的是条件运算符具有右结合性,不是说从右到左计算。

a>b?a++:b++,按你的理解是先要执行b++么?
2012-06-29 21:54
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
楼主提的问题,是C语言中最让人纠结的问题。
楼主,你运行结果是多少?
a,b,c最后的值是4,2,3吗?

做自己喜欢的事!
2012-06-29 23:31
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
2012-06-29 23:53
快速回复:高手分析条件符运算
数据加载中...
 
   



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

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