日期:2014-05-20  浏览次数:20663 次

while 语句 i++和++i的问题
我有两个程序
若有byte b=1;int i=0; while(++b>0) i=i+1;,则while退出时i的值为 。
答案:126
若有byte b=1;int i=0; while(b++>0) i=i+1;,则while退出时i的值为 。
答案:127
b的范围127----128 当b=127 在加1 b=-128退出循环。
实在分不清++前后的问题,请详细解答。谢谢!

------解决方案--------------------
第一个先加再判断,第二个先判断再加。
当b=127时,第一个循环条件是不满足了,第二个还能再执行一次,所以自然多1
------解决方案--------------------
我认为是这样的:i++是先取值后++;++i是先++后取值.while是根据取值来判断是否退出的.在java中应该是一样的,如果在C或C++中可能会根据编译器不同得到不同的值.
------解决方案--------------------
同意楼上的