你这个程序无论输出什么都没有意义,以为程序本身就是错的,while()语句的括号内需要的是一个逻辑值,而这个值只有0和非零两种可能,包括while(x>y)这种形式其实while需要的也是逻辑的0或者非0(!0),只不过while(x>y)这种形式是先判断x>y是否成立,如成立则返回值为非0,如不成立则返回0,也就是说if,while等语句真正需要的只是一个逻辑的0或者非0而已.
再看你写的程序while(x--);在这个循环里想为2,然后自减运算,又因为减号在x后面,所以先取值后自减,那么经过两次循环后学的值为0了,这个时候这个时候才会跳出while循环,而在跳出是x还会进行一次自减运算,也就是说跳出循环后学的值是-1,所以输出x的只是-1.
另外你要注意,你的while()后面有个分号,这样while的循环体变成了空语句也就是什么也不做。所以只输出了一个-1.
友情提示:基础很重,要打牢基础。
本人新手,说错勿怪。。。。。。。。。。。。
阿弥陀佛。。。。。