跪求C语言中逗号表达式(a=4*5,a*2),a+15的值是

逗号表达式(a=4*5,a*2),a+15的值是____
一点点解析,谢谢了

逗号表达式从左往右逐个计算表达式,先求解1,再求解2,整个表达式的值为最后一个表达式的值。逗号表达式(a=4*5,a*2),a+15:首先计算圆括号内的表达式,从左到右,a的值是20,a*2的值是40,但没有赋值给装a所以a=20。然后计算a+15的值是35,所以最终值是35。

计算过程如下:

1、先求 a=4*5=20;

2、求a*2=40,这就是(a=4*5,a*2)的最终值;由于这个结果没有赋值给a,因此a=20;

3、求a+15=35;这就是最终的值。

逗号运算符是c语言提供一种特殊的运算符,优先级别最低。从本质上讲,逗号的作用是将一系列运算按顺序执行。最右边的那个表达式的值将作为整个逗号表达式的值,其他表达式的值会被丢弃。逗号表达式本身不难,常常与赋值运算符一起考,考查学生对这两个知识点的理解和考生观察是否细心。

扩展资料

运算符优先级等级口诀:

圆方括号、箭头一句号, 自增自减非反负、针强地址长度,

乘除,加减,再移位,

小等大等、等等不等,

八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。

其中“,”号为一个等级分段。

参考资料来源:百度百科--逗号表达式

参考资料来源:百度百科--逗号运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-16

a+15的值=35

在逗号表达式中先执行a=4*5=20,然后执行a*2=40当做整个表达式的结果。

但这个结果并不赋给 a,因为没有赋值给a,所以a还是等于20,最后求 a+15的值=35

扩展资料

int a1,a2,b=2,c=7,d=5;

a1=(++b,c--,d+3);

a2=++b,c--,d+3;

对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。

对于给a2赋值的代码,也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)虽然最终表达式的值虽然也为8,但b=4(第2行代码运算完时,b=3,即第3行代码运行时,b的值为4),所以a2=4。

本回答被网友采纳
第2个回答  推荐于2017-11-25
逗号 表达式,按顺序一个一个执行,然后把最后一个语句,当做整个逗号表达式的最后结果,
先执行a=4*5=20,然后执行a*20=40当做整个表达式的结果,但这个结果并不赋给 a,因为没有赋值给a,所以a还是20,最后求 a+15的值,=35本回答被提问者采纳
第3个回答  2023-04-24
A+15等于35解方程怎么算?
第4个回答  2012-11-08
逗号表达式的求值过程是自左向右,a=20x2,,,即a等于40+15=55