C语言逗号表达式

来源:百度知道 编辑:UC知道 时间:2024/07/07 07:34:18
逗号表达式(a=3*5,a*4),a+15的值是30
为什么呢?
(a=3*5,a*4)输出值为60

这个表达式的值应该是30;
a的值为15;

逗号表达式先执行a = 3 * 5;
于是a为15;
接着执行a * 4,表达式的值为60
但是这个值没有赋值给变量a,所以a的值仍然是15
也就是说输出表达式(a=3*5,a*4),其值为60,输出a,则为15.

同理由于a的值为15,
所以输出表达式(a=3*5,a*4),a+15的值为30,
你若输出a,则值为15.

逗号表达式是一组由逗号分隔的表达式,这些表达式从左向右计算。逗号表达式的结果是其最右边表达式的值。如果最右边的操作数是左值,则逗号表达式的值也是左值。