看不懂程序,break跳出循環不是一直在2的時候就跳出了嗎,為什么還會有后面
#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-12-07
需要注意的是,break是跳出當前循環,而不是全部的循環。題目上break是在子循環里使用的,也就是結束的是子循環體。父循環體不受影響。