只有一元表达式和赋值表达式是右结合的,其他都是左结合。如a = b = c,意思就是a = (b = c);*a++ ,即是*(a++)。
运算的时候有个原则:就是让整体运算范围更大。比如,运算中有一个是浮点数,则会用浮点数规则来运算,结果也会是浮点数。
子表达式的求值顺序不确定:如,int x = f(x) + g(x),不能确定f(x)先运算还是g(x)先运算。
运算符 逗号、&&、|| 这三种一定保证左边的先运行。如b = (a =2, a=1),其结果是b=3.
只有一元表达式和赋值表达式是右结合的,其他都是左结合。如a = b = c,意思就是a = (b = c);*a++ ,即是*(a++)。
运算的时候有个原则:就是让整体运算范围更大。比如,运算中有一个是浮点数,则会用浮点数规则来运算,结果也会是浮点数。
子表达式的求值顺序不确定:如,int x = f(x) + g(x),不能确定f(x)先运算还是g(x)先运算。
运算符 逗号、&&、|| 这三种一定保证左边的先运行。如b = (a =2, a=1),其结果是b=3.