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

为什么第二个for后面n=2而不是1?

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

}


为什么第二个for后面n=2而不是1?如果是2那么后面n++后m%n的n就从3开始了,如果前面n是1的话这里n就是2,能排除许多偶数

我试了用1,不能运行,不知道为何

提问者:Zzyoung 2017-09-27 14:35

个回答

  • 终究_
    2017-09-27 17:25:30

    质数就是除了一和本身,没有其他的数可以被整出,但是如果n=1的话

            {

                if( m%n==0 )       //什么条件下跳出当前循环

                 break;                 //这里应该退出当前循环了

    }

    这个程序便没有意义了,