标题:为什么运算符优先级和结合性在这了失效??????
取消只看楼主
crazy_pro
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2010-9-17
结帖率:100%
已结贴  问题点数:20 回复次数:3 
为什么运算符优先级和结合性在这了失效??????
#include <iostream.h>

void main()
{
    int x(3),y(4),z;
    z=x>y?++x:++y;
    cout<<x<<","<<y<<","<<z<<endl;//x=3 y=5 z=5
    z=x-y?x+y:x-3?y:x;
    cout<<x<<","<<y<<","<<z<<endl;//x=3 y=5 z=8
}
    结果是:3 5 5
             3 5 8
为什么第二次输出Z的值是8???求教
搜索更多相关主题的帖子: 运算符 失效 结合 
2010-09-25 22:45
crazy_pro
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2010-9-17
得分:0 
回复 2楼 xin310923
那为什么结果Z的值是8而不是3???????????
2010-09-27 13:22
crazy_pro
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2010-9-17
得分:0 
回复 4楼 minghan0313
他的结合性是由右向左的啊  是不是应该先算后面的啊!然后再算前面的表到式的值啊???如果按你说的
就没有问题啊,但是如果按我说的Z的值就是3啊!条件运算符的 结合性是由右向左的啊! 谢谢4楼的回复!
2010-09-27 23:10
crazy_pro
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2010-9-17
得分:0 
回复 5楼 xin310923
谢谢
2010-09-27 23:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-321345-1-1.html




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

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