c语言,关于逗号表达式逗号表达式“(a = 3 * 5,a * 4),a + 5”的值=20:= 3 * 5,得a=15;再求a * 4=60;最后求解a + 5=20,所以逗号表达式的值=20,请问这个解释正确否,为什么不是等于80?

问题描述:

c语言,关于逗号表达式
逗号表达式“(a = 3 * 5,a * 4),a + 5”的值=20:= 3 * 5,得a=15;再求a * 4=60;最后求解a + 5=20,所以逗号表达式的值=20,请问这个解释正确否,为什么不是等于80?

这个表达式的值应该是20,逗号表达式的值应该是逗号右边的值,对于a=3*5,a*4 左边a被赋值15,所以右边a*4=60是这个表达式的值,但并没有给a赋值,所以a的值仍然是15;对于整个表达式而言,其值应该是a+5,因为在前一个表达...