第一个括号里的a++是用来做判断的,如果a的值等于0的话,就不进行循环,否则就进行循环。每次判断完后a的值会加1.
第二个括号里的++b是循环体中的内容,每次循环的过程中,都会将b的值加1.
具体来说就是:
a=-2满足条件(然后a+1变成-1),进行循环b+1变成1;
a=-1满足条件(然后a+1变成0),进行循环b+1变成2;
a=0不满足条件,循环结束。
while(a++)
每次循环前,判断a是否为0,如果不为0,则a值加上1,执行循环体,即b加上1
当a为-2时,可以循环,a加1变为-1,b加1变为1
继续循环,a为-1,可以循环,a加1变为0,b加1变为2
继续循环,a为0,循环退出,a加1变为1,b不变
因此输出1,2
首先第一次循环a为负二符合条件执行a+1下面代码b加一,目前a为负一b为1,第二次循环a为负一符合条件然后加一继续执行下面代码b再加一,此时a为0b为2,在判断a为0,不满足条件,a加一后不执行下面的b加一代码,此时a为1b为2