搞不懂的C++题,想半天了都

img


这个是课上留下的题目,用电脑写程序算得出来,但是我弄不懂它处理时的过程,有没有人解释一下

a还是4
因为左边4&&2的结果为1
在执行‖的时候只要左边的为真那么右边的就不用执行了所以这个a++没执行

实质表达式为 (a=4)&&(b=2) || a++||(a-b*2),
先看(a=4)&&(b=2) && 的意思是逻辑与的关系,只有&&两侧都为真,结果就为真。
先别看后面的值,xx || yy || zz 这样的式子,当xx为真时,后面就不会去计算,所以a=4