c语言中(a=3*5,a*4),a+5 为什么a的值不是65 a=a*5,a*4就是60啊

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 21:33:47
c语言中(a=3*5,a*4),a+5为什么a的值不是65a=a*5,a*4就是60啊c语言中(a=3*5,a*4),a+5为什么a的值不是65a=a*5,a*4就是60啊c语言中(a=3*5,a*4

c语言中(a=3*5,a*4),a+5 为什么a的值不是65 a=a*5,a*4就是60啊
c语言中(a=3*5,a*4),a+5 为什么a的值不是65 a=a*5,a*4就是60啊

c语言中(a=3*5,a*4),a+5 为什么a的值不是65 a=a*5,a*4就是60啊
赋值运算符比逗号运算符优先级高 所以 a = 3 * 5 = 15
你的表达式相当于
int j,k;
k = (j = (a = 3*5,a*4),a + 5); --即为二个逗号表达式
j = (a = 3*5,a*4) j = 15 * 4 = 60;
k = j, a+5; k = 20;
也就是说你最后的整个表达式的值为20,但是 a 是15
希望我的解答你能够明白.