m%n==0 这里当m==n的时候,如果m为4,跳出循环时候为什么4没有被打印出来

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

慕斯0252033

2020-04-19 22:12


#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;    

}


写回答 关注

1回答

  • 慕侠941210
    2020-04-20 08:50:34
    已采纳

    当m=4,n=2,m%n==0条件成立,直接break跳出循环体,此时下面的 if(m == n) 条件是不成立的所以不会打印输出,根本不会有机会让n循环到4和m相等,接下来就开始m++(m=5)开始下一轮循环了。

C语言入门

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

926286 学习 · 20799 问题

查看课程

相似问题