10 5 3 2 因为printf("%d ", i++); 是执行完本句之后+1,如果换成++i,结果就是11 6 4 3了第一次是10,执行成功之后+1,11/2=5 在执行成功后+1 6/2=3 然后执行成功+1 4/2=2 执行成功+13/2=1 此时1>1不为真,跳出循环,所以结果是 10 5 3 2
5321111````````i/=2 i=i/2;