一道计算机2级 C语言题目

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:55:50
设x和y均为int型变量则执行下面的循环后,y的值为_______
for(y=1,x=1;y<=10;y++)
{if(x>=10)break;
if(x%2==1)
{x+=3;continue;}
x+=2;}

答案是5

谁给我详解下 谢谢~~~

for(y=1,x=1;y<=10;y++)
{
if(x>=10)break;
if(x%2==1){
x+=3;continue;
}
x+=2;
}
第1次循环x=y=1--->x+=3
第2次循环y=2,x=4--->x+=2
第3次循环y=3,x=6--->x+=2
第4次循环y=4,x=8--->x+=2
第5次循环y=5,x=10--->break

y = 1时 x = 1;执行完 x = 4 y = 2
y = 2时 x = 4;执行完 x = 6 y = 3
y = 3时 x = 6;执行完 x = 8 y = 4
y = 4时 x = 8;执行完 x = 10 y = 5
y = 5时 x = 10;执行完 执行if(x>= 10)成立执行break;跳出for循环所以y还是5

当x>=10时结束循环
x=1,y=1 x=3 y=2
x=3,y=2 x=6 y=3
x=6 y=3 x=8 y=4
x=8 y=4 x=10 y=5
x=12时结束循环,所以y=5