解释如图:
--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