运行结果,b不是自减了吗,为啥输出还是4

img

先执行++a,a=0,a<0不成立,因为是并运算,一个为假结果就是假,编译器不在继续执行后面的了,--b没有执行了,所以b还是4

由于k=(++a<0)的结果是0,所以&&后半部分是不计算的,因此b还是4
作为&&运算符,要求左右两侧的表达式均为true结果才是true,在计算时,从左到右计算,如果左侧表达式结果为false,那么&&的结果肯定是false,所以右侧表达式不需要计算就结束了
a=-1,++a后a为0,0<0不成立,为false,false就是0,k=0的结果就是0,所以--b<=0并没有计算