上QQ阅读APP看书,第一时间看更新
5.8.2 少数运算符在规定表达式中的求值顺序
少数运算符在C语言标准中求值顺序是有规定的。具体说明如下所示。
(1)规定&&和‖从左到右求值,并且在能确定整个表达式值的时候要停止,也就是常说的短路。
(2)条件表达式的求值顺序是这样的。
test ? exp1 : exp2;
若条件测试部分test非零,则求解表达式exp1,否则求解表达式exp2,并且保证在exp1和exp2之中只求解一个。
(3)逗号运算符的求值顺序是从左到右,并且整个表达式的值等于最后一个表达式的值。注意逗号’,’还可以作为函数参数的分隔符、变量定义的分隔符等,这时表达式的求值顺序是没有规定的。
在判断表达式的计算顺序时,优先级高的先计算,优先级低的后计算,当优先级相同时再按结合性,从左至右的顺序计算,或从右至左的顺序计算。