形参
计算顺序是从右至左的,所以最后a==1。如果没有f,那就是一般的
逗号表达式
,从左至右计算并取最右边的分表达式的值为整个表达式的值,这就不仅最后a==3,而且整个()的取值也是3。
前者,a=a+++1被编译器解释为:a=a+1//a=1+1=2
a++//a=2+1=3
后者,a+++1被编译器解释为:
a+1//虽然做了1+1=2运算,但没有赋给a,a仍为1
a=a+1//a=1+1=2
形参
计算顺序是从右至左的,所以最后a==1。如果没有f,那就是一般的
逗号表达式
,从左至右计算并取最右边的分表达式的值为整个表达式的值,这就不仅最后a==3,而且整个()的取值也是3。
前者,a=a+++1被编译器解释为:a=a+1//a=1+1=2
a++//a=2+1=3
后者,a+++1被编译器解释为:
a+1//虽然做了1+1=2运算,但没有赋给a,a仍为1
a=a+1//a=1+1=2