这个呀。楼主要好好去看一下程序的流程控制。while()循环默认只控制一个语句。而C语言一个分号; 就是一个语句。是一个空语句。如果你在while();后面加上分号了。那你那个printf();就不属于当循环的语句。不加分号。运行结果为-1没错呀。你想想。当x--到0时。就结束循环了。但是此时x的值还要自减一次。输出来就是-1
回复 10楼 liangjinchao
0是1自减的结果,,1因为满足条件而能继续自减;想不通为什么0还能继续自减了,求更容易理解的解释!!!