m%n==0 這里當m==n的時候,如果m為4,跳出循環時候為什么4沒有被打印出來
#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;? ??
}
2020-04-20
當m=4,n=2,m%n==0條件成立,直接break跳出循環體,此時下面的?if(m == n)?條件是不成立的所以不會打印輸出,根本不會有機會讓n循環到4和m相等,接下來就開始m++(m=5)開始下一輪循環了。