Sunday, May 27, 2007
C언어] 무한루프 만들기, 루프 탈출/빠져나오기 방법; 'while' 'for' 'break'
무한 루프를 while문으로 "while (1)" 이렇게 구현하면, 컴파일러 설정에 따라 warning C4127: conditional expression is constant (조건문이 상수로 되어 있음) 라는 경고가 나옵니다.
따라서 for문을 사용하여 무한 루프를 만드는 것이 무난합니다.
무한 루프에서 빠져 나오기 위해서는 'break' 라는 키워드를 사용합니다. 가장 가까운 루프문을 즉시 빠져나갑니다.
빠져 나올 수 없는 영원한 무한 루프일 경우에는, 키보드의 Ctrl+C키를 누르면 프로그램 전체가 종료됩니다.
소스 파일명: example.cpp
영원한 무한루프에서는 return 0; 이런 곳에서 unreachable code (도달할 수 없는 코드) 라는 경고가 나올 수 있습니다.
소스 파일명: example.cpp
따라서 for문을 사용하여 무한 루프를 만드는 것이 무난합니다.
무한 루프에서 빠져 나오기 위해서는 'break' 라는 키워드를 사용합니다. 가장 가까운 루프문을 즉시 빠져나갑니다.
빠져 나올 수 없는 영원한 무한 루프일 경우에는, 키보드의 Ctrl+C키를 누르면 프로그램 전체가 종료됩니다.
'for문'으로 무한 루프 구현 예제
소스 파일명: example.cpp
#include <stdio.h>
int main(void) {
double stopper = 0.0;
for (;;) {
puts("< 무한루프: for문으로 구현 >");
////////////////////////////////////////
// 이 부분이 없으면, 영원한 무한루프가 됨
stopper++;
if (stopper >= 10.0) {
break;
}
////////////////////////////////////////
}
return 0;
}
int main(void) {
double stopper = 0.0;
for (;;) {
puts("< 무한루프: for문으로 구현 >");
////////////////////////////////////////
// 이 부분이 없으면, 영원한 무한루프가 됨
stopper++;
if (stopper >= 10.0) {
break;
}
////////////////////////////////////////
}
return 0;
}
영원한 무한루프에서는 return 0; 이런 곳에서 unreachable code (도달할 수 없는 코드) 라는 경고가 나올 수 있습니다.
while문으로 무한 루프 돌리기 예제
소스 파일명: example.cpp
#include <stdio.h>
int main(void) {
double stopper = 0.0;
while (1) { // warning C4127: conditional expression is constant
puts("< 무한루프: while로 구현 >");
////////////////////////////////////////
// 이 부분이 없으면, 영원한 무한루프가 됨
stopper++;
if (stopper >= 10.0)
break;
////////////////////////////////////////
}
return 0;
}
int main(void) {
double stopper = 0.0;
while (1) { // warning C4127: conditional expression is constant
puts("< 무한루프: while로 구현 >");
////////////////////////////////////////
// 이 부분이 없으면, 영원한 무한루프가 됨
stopper++;
if (stopper >= 10.0)
break;
////////////////////////////////////////
}
return 0;
}
tag: cpp
C언어 | C/C++ (Visual C++)
좋은정보 감사합니다.^^
<< Home