小小补充1楼的一丁点
逗号表达式(a,b,c) 整个表达式最后取c的值,当然要从左向右运算
a=3*5=15 此时把15赋值给a a=15
a*4与a+15 无相关联系
所以看a+15就可 a+15=15+15=30 为这个逗号表达式的值
赋值操作符的优先级高于逗号操作符,所以原式等价于:
(a=3*5),a*4,a+15
从左到右依次计算,并最终返回最右边的一个表达式的值,由于第一个表达式将15赋予a,所以后面两个表达式中的a的值都是15,所以这个逗号表达式的最终值是30
这道题是这样的 从左到右计算,逗号计算符优先级是最低的,并且逗号运算符的值等于最后一个运算的值。
这里因为()优先级最高 所以先计算()里的
(a=3*5,a*4)先给a赋值使a=15,然后计算a*4 得括号里的值为 60
然后整个式子变为 60,a+15 因为a在前面被赋值等于15,所以这个式子的最后一个是a+15 所以整个逗号运算的值为 30