关于m==n 输出m的问题

来源:4-14 结束语句之break语句

菜菜狠厉害

2019-07-24 13:34

#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是小循环。  n的循环是两种:满足break跳出,不满足break执行if(m==n)  对吗?

            n<m;n++  n也不能等于m啊  这块怎么理解呢?

                

写回答 关注

1回答

  • 小小疾飞
    2019-07-24 14:01:32
    已采纳

    m的是外循环,n的是内循环。内循环的时候判断if(    m%n == 0)成功跳出n的循环(break只能跳出一层循坏),n++是不是不满足n<m,循坏才结束,所以n能等于m啊!有问题再问我!

    慕仰5477...

    n=m是为什么?

    2019-10-12 13:17:41

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题