2009-03-30 9 views

答えて

5

実際には無限ループです。

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

それは事実としても同じです:while式の(真の)部分は通常、しかし、この場合には、比較のいくつかの並べ替えを必要とするため、あります、これはまた離れて最適化されていることを除いて

while (true) 
{ 
} 

1

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

15

はい、無限ループです。

例:

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

while (true) { }

do { } while (true)

4

はい、それは無限ループです。あなたは3つの表現のうちのどれかを除外することができますが、私の経験では一般的に最初の3つの表現のいずれかです。

0

無限ループです:)。

2

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

3

無限ループです。効果的には、これと同じ:

while (true) 
{ 
} 
2

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

3

for (; ;) { }は無限ループですが、正しいです。

これを使用したい場合は、ループ本体からループを抜けるように条件を設定する必要があります。

for (; ;) 
{ 
    if (conditionTrue) 
     break; 
    else 
     continue; 
} 
関連する問題