クイックワン。以下は同等ですか?そして、それらのうちのどれが他のものよりも経済的であるか「正しい」か?略語C whileループ
while (x==y) {}
,while (x==y) ;
& while (x==y);
。
閉じる式の括弧と2番目のセミコロンのセミコロンとの間の空白に注意してください。
私は過去に最初のものを使用する傾向がありました。 Ta
クイックワン。以下は同等ですか?そして、それらのうちのどれが他のものよりも経済的であるか「正しい」か?略語C whileループ
while (x==y) {}
,while (x==y) ;
& while (x==y);
。
閉じる式の括弧と2番目のセミコロンのセミコロンとの間の空白に注意してください。
私は過去に最初のものを使用する傾向がありました。 Ta
2番目と3番目の違いはありません。
最初の唯一の違いは、読みやすさです。あなたは、あなたがタイプミス(余分な;
)ではなく、無限ループが必要であることを明示しています。あなただけの通常、もちろん
while (whatever)
;
:あなたはこのような何かをやっていただきたいとき
これらはすべて正確に同等であり、半二重コンパイラと同じプログラムを作成する必要があります。空白は重要ではなく、{}
と;
の両方が空文を表します。
は通常、あなたはまだそれが明確にそれだけでacidentで追加されなかったことを確認するために独自の行にセミコロンを置きますやることwhatever
は、次のような副作用を有する場合:
// skip to end of line:
while (((ch=getchar()) != '\n') && (ch != EOF))
;
使用する空の文の正確な構文形式がが生成されたコードに影響を与える可能性は極めて低いので、これは、読者のためではないの最適化については、純粋ですコンパイラ。
彼らは何をする予定ですか?待機をスピンさせるより良い方法があります。 – SLaks
@SLaksは、条件が真ではないが特定のユースケース – Toby