请帮忙解释一下源程序个别语句的含义?
题目:求100以内的全部素数,没行输出10个。源程序
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,m,n;
count=0;
for(m=2;m<=100;m++)
{
n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0) break;
if(i>n)
{
printf("%6d",m);
count++;
if(count%10==0)
printf("\n");
}
}
printf("\n");
return 0;
}
我的问题如下:
1.我知道这个break是跳出的含义,但“跳出”具体表示什么,在这个题中判断m%i==0,即m不是素数,跳出说明什么?
2.为什么还要考虑i>n的情况?
3.两个printf("\n")有什么区别,我看不明白?