目次から探す
do-while文の注意点
do-while文は、ループを実行する前に条件をチェックするのではなく、まずループの中の処理を実行し、その後に条件をチェックするという特徴があります。
そのため、do-while文は少なくとも一度はループの中の処理が実行されることが保証されます。
以下に、do-while文の注意点をいくつか紹介します。
- ループの中の処理が少なくとも一度は実行されるため、条件が常に真である場合、無限ループに陥る可能性があります。
無限ループにならないように、ループの中で条件を適切に更新する必要があります。
int i = 0;
do {
printf("Hello, World!\n");
i++;
} while (i < 5);
上記の例では、変数iが5未満の間、”Hello, World!”というメッセージを出力します。
ループの中で変数iをインクリメントしているため、最終的にiが5になり、条件が偽になります。
したがって、ループは5回実行されます。
- do-while文の中で変数を初期化する場合、ループの外で変数を宣言しておく必要があります。
do-while文の中で変数を宣言すると、ループのたびに変数が再初期化されてしまいます。
int i = 0;
do {
int j = 0; // エラー:do-while文の中で変数を宣言することはできない
printf("Hello, World!\n");
i++;
} while (i < 5);
- do-while文の中でbreak文を使用することで、ループを途中で終了することができます。
また、continue文を使用することで、ループの次の繰り返しに進むことができます。
int i = 0;
do {
if (i == 3) {
break; // iが3のときループを終了する
}
printf("Hello, World!\n");
i++;
} while (i < 5);
上記の例では、変数iが3のときにbreak文が実行され、ループが終了します。
したがって、”Hello, World!”というメッセージは3回までしか出力されません。
以上が、do-while文の注意点です。
do-while文を使用する際には、これらのポイントに注意してプログラムを作成しましょう。