答えて
i
が実際にデクリメントされ、i
の値に影響を与えるステップは、の中にあり、ループボディに影響します。
第2の従来のバージョンでは、ループ本体が実行された後、条件が再度チェックされる前に、i
がデクリメントされます。したがって、i == 1
に対してループ本体が実行された後にi
が0になります。条件が再度チェックされ、ループi
が0の後にチェックされます。
チェックされる条件の一部として、ループ本体が実行される前に、最初のバージョンがi
をデクリメントします。ここでループ本体は、最初にi == n - 1
で実行され、最後の時刻はi == 0
で実行されます。その後、i
がデクリメントされ、その前の値が0
と比較されます。ループが終了し、i
が-1になります。
従来のバージョンでは、ループ本体には条件部分がチェックされたときと同じ値が常に表示されます。
..ループ内では、「i」が最初に「n-1」であり、「i」が最後の反復「0」にある。ループの後、 'i'は' -1'です。 –
@PaulOgilvie - うん、良い点。両方のバージョンに 'i'の最後の値を追加しました。 – StoryTeller
i
は、の前に、のループボディが実行されます。 2番目のコードは、の後にi
をデクリメントしてループ本体を実行します。
- 1. これら2つの宣言の違いは何ですか?
- 2. cのこれらの2つの宣言の違いは何ですか?
- 3. これら2つのループの違いは何ですか?
- 4. JavaScriptのこれら2つの関数宣言の違いは何ですか?
- 5. Pythonのこれら2つの配列宣言の違いは何ですか?
- 6. これらの2つのポインタ宣言の違いは何ですか?
- 7. これら2つの配列宣言の違いは何ですか?
- 8. これらの2行の違いは何ですか? (C#)
- 9. これらの2つのインポートステートメントの違いは何ですか?
- 10. これらの2つのコードの違いは何ですか?
- 11. これらの2つのCSSの違いは何ですか?
- 12. これらの2つのクエリの違いは何ですか
- 13. これらの2つのコードセグメントの違いは何ですか。
- 14. これらの2つのコードの違いは何ですか?
- 15. これらの2つのインポートステートメントの違いは何ですか?
- 16. これらの2つのバインディングの違いは何ですか?
- 17. これらの2つのC++コードブロックの違いは何ですか?
- 18. これら2つのJavaコードの違いは何ですか?
- 19. これらの2つの違いは何ですか?
- 20. これら2つのJava arrayList.add(の違いは何ですか)
- 21. これら2つのステートメントの違いは何ですか?
- 22. これら2つのクラスの違いは何ですか?
- 23. これら2つの.htaccessコードの違いは何ですか?
- 24. これら2つの配列の違いは何ですか?
- 25. これら2つのステートメントの違いは何ですか?
- 26. これら2つの定義の違いは何ですか
- 27. これら2つのJOINの違いは何ですか?
- 28. これら2つのSQLスクリプトの違いは何ですか?
- 29. これら2つのボタンの違いは何ですか?
- 30. これら2つのプロトタイプの違いは何ですか?
最初のものは 'for(i = n; i> 1; i - )' –
'size_t i = 42; (i - > 0;)、なぜそうではない... – Stargateur
'for(i = n; i> 1; i - )'は、第1または第2のループとは異なる結果を与えます。 –