最初の繰り返しでは、内側のループは開始されません。これsquarer
は is 1 であり、i
0 であるため、for 条件が満たされることはありません。
2 番目の繰り返しでは、内側のループが 1 回実行されます。これは、 is 1 であり、1 であるためi
ですsquarer
。i/squarer
is 1 であるため、何も出力されません。
3 番目のループの間、squarer
すでに 2 (前のループでインクリメント)i
が 2 であるため、ループは 1 回実行され、i/squarer
再び 1 になります。
他のすべてのループで何が起こるかは簡単に想像できます:i
は常に に等しくsquarer
、i/squarer
は常に 1 です。この目的で 2 つの入れ子になったループを使用してもまったく意味がありません。次のコードを参照してください。
int squareOf = 1500;
int squarer = 1;
for(int i=1; i<=squareOf; i++) {
if(i / squarer == 0)
NSLog(@"%i",i);
else
NSLog(@"i/squarer is not zero");
}
これは同等であり、i/squarer
ゼロになることはありません。わかりやすくするためにログステートメントを追加しました。i/squarer
これで、なぜ常に 1 であるかがわかりましたか? 別のコードを書くつもりだった場合は、何を達成しようとしているのか教えてください。コードを修正することができます。