c语言的一个简单问题关于y--

来源:百度知道 编辑:UC知道 时间:2024/06/16 10:56:05
#include<stdio.h>
void main()
{
int y=10;
while(y--);
printf("y=%d",y);
}
这个程序的运行结果是-1,为什么不是0?难道先判断y的真假再进行自加自减?不大理解,请大家指教一下吧

你都说出了答案了,如果用--y就是0了。

是的,先使用y再自减,和--y区别

while(y--);这一句相当于while(y) , y=y+1; y--这一句是先运算,完成后再减。

我也不解

y等于0时,y--等于0,循环结束,但y还得自减一次为-1

y--先运算,再自减,所以当y--等于0时,跳出循环,这时,y=0;
若为--y,则是先自减,再运算,结果就是0了