質問するログイン新規登録

回答編集履歴

3

修正

2023/09/02 03:36

投稿

jimbe
jimbe

スコア13395

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `for(①; ②; ③) ④;` は
2
2
  1. ①を実行
3
- 2. ②が true なら④を実行, false なら for は終了
3
+ 2. ②が true(=!0) なら④を実行, false(=0) なら for は終了
4
4
  3. ③を実行, 2 に戻る
5
5
  という文です。
6
6
  ①~④のどれも**処理が無い(書かない)ことが可能**で、つまり `for(;;);` というのもアリです。(延々と何もしないだけですが。)

2

追記

2023/09/01 09:07

投稿

jimbe
jimbe

スコア13395

answer CHANGED
@@ -4,4 +4,7 @@
4
4
  3. ③を実行, 2 に戻る
5
5
  という文です。
6
6
  ①~④のどれも**処理が無い(書かない)ことが可能**で、つまり `for(;;);` というのもアリです。(延々と何もしないだけですが。)
7
- ②が無い場合は常に true (=④を実行する) になります。
7
+ ②が無い場合は常に true (=④を実行する) になります。
8
+
9
+ これを踏まえて、質問のコードで for 文がどのような役割をしているのかをお考え下さい。
10
+ 当然ですがコードが完全に正しく・ムダが無いとは限りません。最悪、なぜそうなっているのかは作った本人以外には分からないこともあります。

1

修正

2023/09/01 09:01

投稿

jimbe
jimbe

スコア13395

answer CHANGED
@@ -4,4 +4,4 @@
4
4
  3. ③を実行, 2 に戻る
5
5
  という文です。
6
6
  ①~④のどれも**処理が無い(書かない)ことが可能**で、つまり `for(;;);` というのもアリです。(延々と何もしないだけですが。)
7
- ②が省略された場合は常に true (=④を実行する) になります。
7
+ ②が無い場合は常に true (=④を実行する) になります。