7

while ループが for ループでできることは何でもできることは知っていますが、for ループで while ループでできることは何でもできますか?

例を挙げてください。

4

7 に答える 7

15

はい、簡単に。

while (cond) S;

for(;cond;) S;
于 2009-10-03T17:41:39.623 に答える
2

whileループと古典的なループはfor交換可能です:

for (initializer; loop-test; counting-expression) {
    …
}

initializer
while (loop-test) {
    …
    counting-expression
}
于 2009-10-03T17:50:46.463 に答える
1

境界とステップが固定されていて、ループの本体でループ変数を変更できない場合、for ループは基本的な再帰関数に対応します。

理論的な観点からは、これらは一般的な while ループよりも弱いものです。たとえば、そのような for ループだけでアッカーマン関数を計算することはできません。

while ループの条件が true になる上限を指定できる場合は、それを for ループに変換できます。これは、宇宙の寿命よりも長いなど、天文学的に高い境界を簡単に提供できるため、実際的な意味では違いがないことを示しています。

于 2009-10-03T21:15:37.890 に答える
-1

Cのような言語では、次のようなforループを宣言できます。

for(; true;)
{
    if(someCondition)
       break;
}

より厳密な言語でforは、無限ループはループを必要とする場合になりwhileます。

于 2009-10-03T17:42:58.950 に答える
-1

While loopには hasほどの柔軟性がなくfor loop、 for ループは while ループよりも読みやすいです。例を挙げて私の主張を説明します。for ループの形式は次のとおりです。

for(int i = 0, j = 0; i <= 10; i++, j++){
// Perform your operations here.
}

while ループは、上記の for ループのように使用することはできず、今日のほとんどの最新の言語では a も使用できfor each loopます。

私の意見では、偏見があるかもしれませんが、ご容赦ください。while loopで同じコードを書くことができる限り、使用しないでくださいfor loop

于 2012-09-27T12:52:57.650 に答える