c++一道题

来源:百度知道 编辑:UC知道 时间:2024/06/09 15:44:19
int a=1,b=10;
do{
b-=a; a++;
}while (b--<0);
循环后B的值为多少?为什么?

int a=1,b=10;
do{
b-=a;
//第1次循环,b=10-1=9

a++;
//第1次循环,a=2

}while (b--<0);
//第1次循环,b=9>0,退出循环,然后b--,b=8

所以最后结果是b=8

-4 一步一步的算
b a
9 2
8 2
6 3
5 3
2 4
1 4
-3 5
-4 5这个时候跳出循环 值是-4

8
do-while语句先执行循环体中的语句组,后判断表达式,条件为真继续循环,为假就跳出来了。do--while语句的循环体至少执行一次
while (b--<0); 只能执行一次.为假跳出了