第1个回答 2010-11-07
这是正常的,因为循环只执行了一遍!
do....while()的用法是执行一遍之后判断是否符合条件!
对应本题就是执行一遍之后,检查b--是否小于0,若果小于0则继续执行,不小于0则退出!
第2个回答 2010-11-07
不是8能是什么?
一开始, a=1, b=10
b-=a; 这时b=9了
a++; 这时a=2了,b还是9
while(b--<0) ; 这时b为8了,所以条件不成立,跳出循环。
所以,最后b=8.
第3个回答 2010-11-07
在do执行完后,b变成9
在while语句中,先判断b<0==false
再进行b--;
所以b==8;
又例
A[3]={0,1,2};
a=1;
那么A[++a]==2;A[a++]==1;但无论是哪一个a都变成了2
第4个回答 2010-11-07
首先b-=a,这时b=10,a=1,执行后b=9,a=2
然后while(b--<0),b--了一次,b=8