看C 语言解惑 时候遇到运算顺序的疑惑
有三条语句( z >= y >= x ) ? 1: 0; ->
x += y += z ; <-
x | y & z ; <-
就像我打得箭头一样,第一个顺序是
1.
( ( z >= y ) >= x ) ? 1: 0 从内到外的顺序对条件求值
2.
第二个是
( x += ( y += z ) ) ;
3.
第三个顺序是
( x | ( y & z ); 先对最内层的表达式求值
为什么都是由内到外,1是从左到右, 2,3 却是从右到左??
难道1 和 2, 3 的性质不一样? 1 是 比较大小性质的, 从左到右比较
2,3 是计算性质的, 从右到左计算