C语言do循环

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:20:26
int a=1,b=10;do{b-=a:a++;}while(b--<0)
则执行循环语句后b的值为( )

帮忙解下这题
并说明过程 谢谢

int a=1,b=10;
do/*do while 是先执行,后判断。所以肯定要执行一次*/
{
b-=a;/* 执行该语句后 b = 9 */
a++;
}while(b--<0) /*执行一次后,b为9不小于0,条件不成立,b--后跳出循环,此时b = 8 */

b=b-a=10-1=9; a=1+1=2 b=9>0结束循环 b=b-1=8

#include<stdio.h>
main()
{
int a=1,b=10;
do{
b-=a;
a++;
}while((b--)<0);
printf("%d",b);
}

b的值为8,因为do....while语无论如何都会执行一次的

8