发布网友 发布时间:2022-04-24 06:37
共2个回答
热心网友 时间:2022-06-17 00:49
第一个程序中第一个while作用为循环,
在第一个while循环中,x++一共执行了5次,所以x为5;
第六次执行第一个while后,--y的值为0,所以退出当前第一个while循环
热心网友 时间:2022-06-17 00:50
第一个程序中,一共有两个while,是循环的嵌套,外循环是do……while语句,循环体只有一句,也就是一个while语句,这一句形成一个完整的循环,由于它在循环的内部,所以也叫内循环。
{
int x=0,y=6;
do
{
while(--y)
x++;
} while(y--);
看一下它的运行过程:
先赋值x=0,y=6
执行do循环
运行while(--y),先计算--y,自减后y=5,满足循环条件;
执行x++,自增后x=1
回到 while(--y),先计算--y,自减后y=4,满足循环条件;
执行x++,自增后x=2
再回到 while(--y),先计算--y,自减后y=3,满足循环条件;
执行x++,自增后x=3
第四次回到 while(--y),先计算--y,自减后y=2,满足循环条件;
执行x++,自增后x=4
第五次回到 while(--y),先计算--y,自减后y=1,满足循环条件;
执行x++,自增后x=5
第六次回到 while(--y),先计算--y,自减后y=0,不满足循环条件;
接下来执行while(y--),先判断后自减,因为这时y=0,停止外循环,不回do语句了。自减后y=-1。
最后执行打印语句:
printf("%d,%d\n",x,y); } ,因为这时x=5,y=-1,打印出最终程序运行结果为5,-1 。
这就是两个while的作用。
有不明白之处,请留言。