int k=1;
while (k--);
printf("%d",k);
为啥要循环两遍,然后结果等于负一啊
while (k--);后面有分号,也就是这个循环一直执行,当k=0是结束循环。因为while(k--)先执行while(k),在执行k--,所以当k=0是,结束循环,但是还要执行一次k--,所以k=-1
首先k=1,也即while(1),符合循环条件,然后k自减变成0,进入循环体(空循环)。
然后k=0,也即while(0),不符合循环条件,然后k自减变成-1,跳过循环体。
所以最终输出的是-1