Cおよびそれに類する言語の場合
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/09/09 09:02 UTC 版)
「continue文」の記事における「Cおよびそれに類する言語の場合」の解説
C言語、C++、Java、JavaScriptなどでは、for文、while文、do-while文の中で使うことができる。Perlではキーワードが少し異なっており、continueに相当するのはnextで、continueは違う機能のためのものである。 continue文は、ループの内部(「ループ本体」の中)にのみ現れることができ、実行されると「それを囲む最も内側の繰返し文のループ継続部,すなわちループ本体の終わりへの分岐を引き起こす。」(JIS X 3010-1993、§6.6.6.2)。 do-while文以外では、その分岐(ジャンプ)先のループ本体の終わりから、そのままループによって先頭に飛び、繰返しのための処理などが行われることになる。do-while文の場合は、ループ本体の終わりにすぐ繰返しの条件判定があるので、ただちに繰返しの条件判定となる。 以上のように、規格票をきちんと読めば、すっきりとした意味があることがわかる。 しかしこれを、おそらくは規格票を読まずに書かれた入門書などによって不自然に理解してしまうと「continue文はその文の実行を打ち切って、そのループの条件式の評価へと制御を移すためのもの」「for文の場合は例外であり、continue文が実行されると条件式の評価の前に、更新式が実行される」「前置判定のwhile文」「後置判定の場合も、同じように動作する。後置判定の場合は、他の方式のループの場合とは異なり、条件式が最後尾に書かれている。しかし冒頭で説明した通り、あくまで条件式の評価へと制御が移る。従って、先頭に戻すのではなく、後の処理を飛ばしてwhile文の最後尾へ制御を移すこととなるため、注意が必要である。」などと、よくわからない説明を重ねる結果になる。
※この「Cおよびそれに類する言語の場合」の解説は、「continue文」の解説の一部です。
「Cおよびそれに類する言語の場合」を含む「continue文」の記事については、「continue文」の概要を参照ください。
- Cおよびそれに類する言語の場合のページへのリンク