为什么这个程序走完输出是-1,当y=0的时候不是已经停了吗,输出不应该是0吗

img

如果是--y那么输出是0,是先减再判断
如果是y--那么输出是-1,是判断再减

当y = 0时
while(0)为假退出循环,但y--依然会执行
所以是-1

输出如图:

img

y--,是先执行相关语句,再做自减。
--y,是先自减,再执行相关语句。
所以最后输出为0。
希望对题主有所帮助,望采纳!