dポイントプレゼントキャンペーン実施中!

プログラミングにおいて
while文、for文、foreach文などループ文は種類がありますが
無限ループに繋がってしまう恐れが高い順などは存在しますか?

どのループ文もミスなく慎重に
正確な書き方さえしていれば無限ループは起きないと思いますが
もしそのような順が存在するのであれば、わからないので教えて頂きたいです。

A 回答 (3件)

わざと無限ループになるようにしない限りまず無限ループにはならないと思います。


無限ループでもコンパイルには引っかからないので心配なら実行してみるのが確実です。
まだ何かプログラムのことで質問がある場合はここまでどうぞ「下」
https://hinacchi1234.wixsite.com/mysite-1
    • good
    • 1
この回答へのお礼

回答ありがとうございます!

お礼日時:2017/12/03 20:15

一般に、foreachは複数データからなる対象から、要素のデータを一つずつ取り出して処理するので、通常ではデータの個数だけループして、無限ループにはならないと思います。



forとwhileはループ条件の書き方次第だと思いますが
C系のfor(i = 0; i < MAX; i++)、BASIC系のFOR I = 0 TO MAX みたいな書き方だと最初に条件を書くので無限ループになりにくいのではないでしょうか。

私個人としてよくやる失敗はwhileの以下の様な場合です。
while(i < MAX){
 処理
 i = i + 1 ←これの書き忘れ、処理を書いたあと書き忘れてしまい無限ループになる。

なので、whileブロックを最初に書いた段階で閉じ括弧の手前に最初に書いてしまうようにしています。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2017/12/03 20:15

whileは一番簡単に無限ループが作れますよね。



while true

end

これだけ。ループ内にbreakを置かなければ、ずっと回りっぱなしです。until falseでも同じことができます。これは回数を決めないループでよく使うパターンなので、breakする条件を間違えた場合に…

最初にループ回数を指定するfor系統のループでは、無限ループにしようと思ったらループ内部でカウンタ変数をいじるしかないけど、それを許さない処理系ではforで無限ループは作れないってことになります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2017/12/03 20:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!