目次から探す
while文の注意点
無限ループに注意する
while文は、指定した条件が真である限り繰り返し処理を行います。
しかし、条件式が常に真となるような記述をしてしまうと、プログラムが無限ループに陥ってしまう可能性があります。
無限ループになると、プログラムが停止せずに永遠に処理を続けるため、予期しない結果やエラーが発生する可能性があります。
以下は、無限ループになる例です。
while(1) {
// 無限ループになる処理
}
このように、条件式を常に真とする場合は、ループ内で適切な制御文(例えば、break文)を使ってループを終了させる必要があります。
条件式の更新を忘れない
while文では、ループの実行前に条件式が評価されます。
そのため、条件式が最初から偽である場合、ループは一度も実行されずに終了します。
しかし、条件式が最初は真であっても、ループ内で条件式が偽になる可能性がある場合、条件式の更新を忘れないように注意が必要です。
以下は、条件式の更新を忘れた場合の例です。
int i = 0;
while(i < 5) {
printf("%d\n", i);
// iの更新を忘れているため、無限ループになる
}
この場合、変数iの値が更新されずにループが続くため、無限ループに陥ってしまいます。
条件式の更新を忘れずに行うことで、意図した回数だけループが実行されるようになります。
以上が、while文を使用する際の注意点です。
無限ループにならないように注意し、条件式の更新を忘れずにプログラムを作成しましょう。