为啥y等于-1?
while(y--)的执行过程是:先执行while(y),然后执行y--,所以整个过程就是:
开始时y=10
while(10); y-- (y=9)
while(9); y-- (y=8)
while(8); y-- (y=7)
while(7); y-- (y=6)
while(6); y-- (y=5)
while(5); y-- (y=4)
while(4); y-- (y=3)
while(3); y-- (y=2)
while(2); y-- (y=1)
while(1); y-- (y=0)
while(0); 结束循环 y-- (y=-1)
while循环结束不影响()中y--的执行,while循环结束,只是不再执行while后面{}中的内容,这个题目中{}没有操作,省略了。
y--,先判断y然后再减。y=0时跳出循环,然后y=y-1,所以输出是-1
一直减到0
然后 while(0--)
不符合条件,但是还是要进行 -- 自减操作
的a++
先用后加 a--
先用后减++a
先加厚用 --a
先减后用
如果变成 wile(--y)
就是0了
这主要是前置操作(++i)和后置操作(i++)的区别导致的。
前置操作指的是先算i+1,再返回i;后置操作是先返回i,再算i+1;
举例
int i = 0;
printf("%d", ++i); //result = 1
int i = 0;
printf("%d", i++); //result = 0
printf("%d", i); //result = 1
y--同理
回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~
while(y=0--)导致y=-1