最初の繰り返しでは、内側のループは開始されません。これsquarerは is 1 であり、i0 であるため、for 条件が満たされることはありません。
2 番目の繰り返しでは、内側のループが 1 回実行されます。これは、 is 1 であり、1 であるためiですsquarer。i/squareris 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 であるかがわかりましたか? 別のコードを書くつもりだった場合は、何を達成しようとしているのか教えてください。コードを修正することができます。