请问子循环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; }