c语言,下面这个逗号表达式算出来为什么是10啊?

如题所述

(a=5,a*4),a+5;
其间算括号内的,遵循逗号表达式a=5,即a=5,之后的a×4没有将a赋值,并不是a=a×4;
在之后的括号内把a的值赋值为5,那么a+5即最后结果应该是5+5=10;建议复习下逗号表达式,开发运用中涉猎并不多。
望采纳~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-18
逗号表达式会从左到右执行,整个表达式的值是最右边式子的值。所以 先 a=5 ,然后 计算a*4,但是没有赋值,所以a不变,然后继续a+5,a仍然不变,整个表达式的值为最右边式子,即a+5=10
第2个回答  2016-05-18
a赋值为5,括号里表达式的值为20,但是总体表达式的值,是后面a+5的值,因为前面a=5,所以表达式的值是10
第3个回答  2016-05-18
a*4的结果,并没有赋值给a,若是这样写:a=a*4,结果便为25