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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/20 18:46:38
c语言中(a=3*5,a*4),a+5 为什么a的值不是65 a=a*5,a*4就是60啊
xQN@RY6eteIQ?ePՈf^eYܙ9sQ]nMXdI[Q\l;x㙁1]l7i@EfwI(_ZR7

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
希望我的解答你能够明白.