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

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

                

正在回答

1 回答

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

1 回复 有任何疑惑可以回复我~
#1

慕仰5477447

n=m是为什么?
2019-10-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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