求编程大侠解答!一个C语言逗号表达式和括号的问题

2022-08-12 综合 57阅读
逗号很好办,逗号就是单纯分隔两个式子,括号的主要作用是将括号内的运算式子作为一个整体,也有优先运算的含义(这个含义和数学上是一样的)
对于你的这段程序,首先说b,原式是(b=4*5, b*2), b+6

首先计算b=4*5,此时b=20,然后算逗号后的式子就是b*2,注意这里没有说把结果赋值给b,所以b还是等于20,最后的b+6同理,只是计算了一个式子,并没有保存结果,所以b最后的输出为20;

再说a,输出的式子是一个括号,这是一个整体,式子里面首先计算a=3*5,所以a=15,然后计算a*4,同样没有被保存,a还是15,最后计算a+5,这个时候还是没有赋值,所以a=15。但是由于在同一个括号里有2个逗号分开了3个式子,所以括号这个整体的值由最后一个式子决定,最后一个式子的值是a+5,也就是15+5,所以括号这个整体的值是20,输入为20。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com