为了账号安全,请及时绑定邮箱和手机立即绑定

break 跳出循环

#include <stdio.h>

int main()

{

    int m, n;

    for(m=2; m<=50; m++)

    {

for(n=2; n<m; n++)

        {

            if( m%n==0   )       //什么条件下跳出当前循环

              break;                 //这里应该退出当前循环了

}

        if(m == n)   //n循环结束后,如果m=n的话就输出m

            printf("%d  ", m);

}

return 0;    

}

这段代码不是很懂,m和n不是每次循环都相同的吗,

 if(m == n)   为什么要有这一句?

希望有人能解释一下把,我没有看懂,很懵有点。


正在回答

3 回答

当m=3的时候,n只能循环一次,那么n只能=2,为什么可以得出m==n,难道n还可以自增,不是说for循环内++1和1++无区别吗?

0 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

    int m, n;

    for(m=2; m<=50; m++)

    {     //       2<=50//向下进行

 //                3<=50; m++; m=3

for(n=2; n<m; n++)

        { // 2<2退出循环 n++,n=3

 //n又初始化为2,2<3    3<3,假   

            if(    m%n==0    )

                 //3%2==1不等于0,if语句不成立        //什么条件下跳出当前循环

              {

                break;

              }//这里应该退出当前循环了

}

        if(m == n)   //n循环结束后,如果m=n的话就输出m

     //    2  ==2 //成立

      //   3  = =3       

    printf("%d  ", m);

                 //输出m=2

}

return 0;    

}


0 回复 有任何疑惑可以回复我~

break就是结束当前循环 ifm%n=0了之后,循环停止,自然跳出循环啊,我是这么理解的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

break 跳出循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信