m%n==0 這里當(dāng)m==n的時(shí)候,如果m為4,跳出循環(huán)時(shí)候?yàn)槭裁?沒(méi)有被打印出來(lái)
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=2; m<=50; m++)
? ? {
for(n=2; n<=m; n++)
? ? ? ? {
? ? ? ? ? ? if( m%n==0? ?)? ? ? ?//什么條件下跳出當(dāng)前循環(huán)
? ? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里應(yīng)該退出當(dāng)前循環(huán)了
}
? ? ? ? if(m == n)? ?//n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d? ", m);
}
return 0;? ??
}
2020-04-20
當(dāng)m=4,n=2,m%n==0條件成立,直接break跳出循環(huán)體,此時(shí)下面的?if(m == n)?條件是不成立的所以不會(huì)打印輸出,根本不會(huì)有機(jī)會(huì)讓n循環(huán)到4和m相等,接下來(lái)就開(kāi)始m++(m=5)開(kāi)始下一輪循環(huán)了。