C语言新手问题 最好稍微给点解释 谢谢高手前辈

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:38:54
x,y为int型 for(y=1,x=1;y<=50;y++)
{if(x>=10)break;
if (x%2==1){x+=5;continue;}
x-=3;
}
y的值 谢谢
通过观察 我发现 我把求余运算弄错了 我说怎么也不可能了 谢谢了 头脑突然出错了 一直以为X%2==1 不成立 呵呵

你可以模拟计算机一点一点试试看
第一圈 x=1,y=1 x%2=1,x+=5;x=6;
。。。 x=6,y=2 。。。。
。。。 x=3 ,y=3。。。。
。。。 x=8 ,y=4。。。。
。。。 x=5,y=5 x%2=1,x+=5;x=10;
。。。 x=10,y=6 break;
应该就是6吧 或许算错了 就这么个思路 结果tc一下就好了

这个问题的关键是 你弄不清楚break 和continue的区别 你看看下面的哈

在一具循环体中,如果用break返回, 则不管其后面是否有满足for中条件的情况,都不做for中的循环体,即不会做;
如果用continue返回,如果条件满足执行continue, 跳出下面语句的执行,而返回到for 语句的开头,再次判断for中的条件,从而根据条件执行其中的循环体内容。

结果是y=6;x=10哈

你还没考二级?哈哈…我的都要挂了。对不起、不会

6