第1个回答 2015-01-16
需要先了解,(A,B)这种是逗号表达式,而且逗号表达式的返回值是最后一个逗号后面的表达式的值。所以(A,B)这种表达式的返回值是B.
那么这个题就是嵌套的逗号表达式,先看括号里的,赋值运算的优先级高于逗号表达式
所以a = 2*5; 所以a的值是20
括号内返回最后一个逗号后面的表达式的值,也就是a*2
那么算完括号内之后就是:
a*2, a+6.
然后还是返回最后一个表达式的值a+6,也就是20 +6了所以是26
第2个回答 2015-01-16
这个表达式是逗号表达式,逗号表达式的运算从左往右进行,即先运算(a = 4*5, a*2),而括号为一个逗号表达式,先计算a = 4*5 = 20,后计算a*2 = 40,之后计算a + 6 = 26,最后表达式的值为最后一个逗号之后表达式的值,故为26
第3个回答 2015-01-16
逗号运算符是自左向右的,所以括号里面的表达式a=20,a*2是40(但此时a还是20),然后a+6是26,所以整个表达式的结果是26