请问子循环for(n=2;n<m;n++)这个我怎么理解呢,第一次外部循环后m=2,n=2,然后n<m不成立,直接跳到了if(m==n),这句判断输出2了,再跳出自循环,n的值为3,m的值也是3了,又重复执行下去,到4的时候应该把4也同样输出来啊,我觉得这个逻辑应该把2到50之间所有的数都输出来,为什么自循环不是for(n=2n=m;n++)呢,我想不通!!
#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;
}