C++嵌套的三目运算,int a=3,b=3,c=5; c=a-b?a-3?b:b-a:a; 顺序是如何的?谢谢大虾了~~

如题所述

表达式1?表达式2:表达式3
先计算表达式1的值
若为非零,将表达式2的值作为整个三目运算式的值
若为零,将表达式3的值作为整个三目运算式的值
本题c=3追问

朋友你说的这个是只有一个三目的情况,这个题目中的顺序是如何的,可否再详细一点? c=a-b表达式1?a-3表达式2?b表达式3:b-a表达式4:a表达式5;
就是现在是表达式1不成立了,那是哪个值给C了,你的答案是对的。

追答

相当于c=(a-b)?(a-3?b:b-a):a
注意圆括号
先计算(a-b)的值,
是零
将最后面的表达式a的值作为整个表达式的值 赋值给c
中间的三目运算无效

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-04
从 右到左,依次划分
第2个回答  2012-10-04
我的吗
相似回答