8

無限ループだとしか思えません。

forループの3つの式のいずれかを省略できますか?省略した場合のそれぞれのデフォルトはありますか?

4

10 に答える 10

15

はい、それは無限ループです。

例:

for (; ;) { }(別名:カニ)

while (true) { }

do { } while (true)

于 2009-03-30T13:56:20.103 に答える
5

それは確かに無限ループです。

内部的には、コンパイラ/ジッターはこれを(効果的に)単純なJMP操作に最適化します。

また、事実上次と同じです。

while (true)
{
}

(これも最適化されていることを除いて、while式の(真の)部分は通常何らかの比較を必要とするためですが、この場合、比較するものはありません。ループを続けてください!)

于 2009-03-30T14:00:15.837 に答える
4

はい、それは無限ループです。3つの式のいずれかを省略できますが、私の経験では、通常、最初の式または3つすべての式のいずれかです。

于 2009-03-30T13:56:42.147 に答える
3

それは無限ループです。事実上、これと同じです:

while (true)
{
}
于 2009-03-30T13:57:25.420 に答える
2

デフォルトはありません。初期化されるものも、インクリメントされるものも、完了のテストもありません。

于 2009-03-30T13:57:14.687 に答える
2

最初の部分と3番目の部分にはデフォルトはありません(デフォルトは何もありませんが、機能します)。条件式のデフォルトはtruefor(;;)事実上無限ループになります。(デフォルトがであると想定されていた場合、falseそのような構成を持つことは無意味でした)。

于 2009-03-30T14:00:18.627 に答える
1

MicrosoftのC#プログラマーリファレンスには次のように書かれています。

forステートメントのすべての式はオプションです。たとえば、次のステートメントを使用して無限ループを記述します。

for (;;) {
   ...
}
于 2009-03-30T18:52:50.297 に答える
1

CおよびC++の場合と同様に、3つのうちのいずれか、または3つすべてを省略できます。

于 2009-03-30T13:56:15.673 に答える
0

それは無限ループです:)。

于 2009-03-30T13:56:58.260 に答える