条件运算符?的结合方向是从右向左.
举例, 当存在多个条件运算符时
int a=1,b=3,c=2,d;
d=a>b?a:c>b?c:b;
//根据从右向左的结合顺序,表达式等价于 d=a>b?a:(c>b?c:b);
//如果是从左向右的结合顺序,那么表达式等价于 d=(a>b?a:c)>b?c:b;
两者结果不同
条件运算符?的结合方向是从右向左.
举例, 当存在多个条件运算符时
int a=1,b=3,c=2,d;
d=a>b?a:c>b?c:b;
//根据从右向左的结合顺序,表达式等价于 d=a>b?a:(c>b?c:b);
//如果是从左向右的结合顺序,那么表达式等价于 d=(a>b?a:c)>b?c:b;
两者结果不同