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

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


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

}


提问者:慕斯0252033 2020-04-19 22:12

个回答

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

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