本当にブール変数が必要ですか?値を出力するだけの場合は、ブール値をスキップできます。
int i;
int a;
for(a=2; a<=10; a++) {
for(i=2; i<a; i++) {
if(a % i == 0) {
Console.WriteLine(a);
break;
}
}
}
break
強制的に内部の出口が出ることに注意してください。for
これにより、外部の次の反復に進むことができますfor
。
修正:上記のコードは非素数を出力します。そうです、素数を追跡するためにブール変数が必要になる場合があります。しかし、それを適切に機能させたい場合は、内部を壊す必要があります。
int i;
int a;
bool m;
for(a=2; a<=10; a++) {
m = true
for(i=2; i<a; i++) {
if(a % i == 0) {
m = false;
break;
}
}
if (m) {
Console.WriteLine(a);
}
}
もちろん、ブール変数がなくても同じ結果を得ることができます。休憩後に別の比較を実行するだけです。
int i;
int a;
for(a=2; a<=10; a++) {
for(i=2; i<a; i++) {
if(a % i == 0) {
break;
}
}
if(a % i != 0) {
Console.WriteLine(a);
}
}