#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)
printf("%d\n",m);
}
return 0;
}
此题中,如果不加条件if(m==n), 因为内循环中if(m%n==0)而跳出后,此时m的值还是会输出 是吗?
如果去掉if(m==n),对m值没有判断,会输出每一个m值,也就是2~50每一个数;f(m==n)是为了判断跳出的时候n是否等于m,如果不等于,则说明m能整除比自己小比1大的数,也就是说他不是质数。
没有if条件的话会输出m值
有if条件的话不会输出m值
会因为if(m==n)只是把n的值等于给m,m输出相当于n的值.没有这个条件也是可以输出的 个人想法