能不能告诉我这个该如何理解?

img

解释如图:

img


如有疑问,还请评论说一下,看到会尽快回复的,希望对题主有所帮助,望采纳!!

--a先执行减一再输出,所以if中就会变成if(0),不符合判断条件,所以执行else if中的语句,b+=2,所以b就是2了

--a的意思是:先将变量a进行减一再进行之后的操作。
所以就不满足第一个if条件,满足的是第二个条件。

初始 int a =1 b=0
判断if(--a) b++; 这句代表a-1是否等于1, 是的话b+1,不是则判断if(a==0) b+=2 ,明显不符合,这里a=0了
再判断a==0 是,b+=2 ,这里前面a=0 了 所以 这时候b=b+2,前面b一直是0,所以b=2