问答详情
源自:4-14 结束语句之break语句

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

#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啊  这块怎么理解呢?

                

提问者:菜菜狠厉害 2019-07-24 13:34

个回答

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

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