c++当中的continue语句是怎么用的?

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:09:58
哪位大侠看看这个程序运行完后X和Y的值,要详细一点的解释!
for(y=1,x=1;y<=50;y++)
{if(x>=10)break;
if(x%2==1)
{x+=5;continue;}
x-=3;
最好能在每一行后面给个注释!答案好的话我会提高分数的!

你这程序不是很完整,我为了能在我这里能运行所以稍微改了下,但是程序本身的意思完全没改:
int x,y;//就声明了下变量
//y从1到50循环,在循环体内没出现y,那么很明显y仅仅是一个计数器而已,记录这个循环执行了多少次
for(y=1,x=1;y<=50;y++)
{
//如果X大于10那么就跳出循环,也就是结束本程序,break的意思是跳出当前的循环体,在这里就是跳出for循环而执行for循环之后的语句,而你for循环后没语句,那么就相当于程序结束了
if(x>=10)
break;
//如果X模2等于1,比如1、3、5、7、9(奇数)模2就为1,所以这句话的意思实际上就是判断x是不是奇数
if(x%2==1)
{
//在X是奇数的情况下,X的值等于本身再加5,意思是假如X本来是1,那么执行了x+=5后,X就等于6了,关键在这个continue这里,continue的意思是【结束本次循环,执行下一次循环】,注意是结束【本次】循环,而【不是跳出】循环。那么意思是如果X是奇数,那么循环执行到continue后就不会再执行x-=3了。而返回循环体开始 的地方执行新的一轮循环。
x+=5;
continue;
}
//明白了continue的意思后,这处代码的意思就很明显了,也就说只有当x是偶数的时候这句才会被执行
x-=3;
}
最后说一下结果:x=10;y=6;

continue的作用是不执行以下语句,直接跳到下一次循环,break是直接跳出循环。注意两者的不同:continue是跳到下一次,break是跳出。

for(y=1,x=1;y<=50;y++)
{
if(x>=10)break;
if(x%2==1)
{
x+=5;
continue;
}
x-=3;
}
因为y=1&l