C11での反復処理の無限ループについて。
#include <stdio.h>
void main() {
int a;
printf("0でループを終了します。\n");
while (1) { //trueではErrorがでる
printf("数値を入力してください。:");
scanf("%d", &a);
if (a == 0) { //aが0のときに実行
break; //処理を終了する
}
}
printf("ループを終了しました。\n");
}
void main() {
int a;
printf("0でループを終了します。\n");
while (1) { //trueではErrorがでる
printf("数値を入力してください。:");
scanf("%d", &a);
if (a == 0) { //aが0のときに実行
break; //処理を終了する
}
}
printf("ループを終了しました。\n");
}
while文やforなどの反復処理の構文では、条件式の部分に1と記述することで無限ループを作ることができます。
無限ループを作る場合は、上記のプログラムのようにif文などで特定の終了方法を用意しておく必要があります。
上記のプログラムでは0と入力された時点でbreakが実行されて、そこでwhile文の反復処理は終了します。
以上です。