반응형
다음 예제는 for 문을 이용한 대표적인 무한 루프의 사례입니다. while(1)과 같은 while 무한
루프와 어떤 차이가 있는지 확인해 보겠습니다.
실행 결과가 계속해서 출력될 것입니다. [Cr] + G 키를 누르면 강제로 종료됩니다. 5행에서 for(i=0; 1; i++)을 보면 초깃값, 조건값, 증감값 중에서 조건값이 1(참)로 설정되어 있습니다.
조건값에 0이 아닌 정수가 입력되어 있으므로 참이 됩니다. 0이 아닌 모든 수는 참이라고 앞에서 언급했었습니다. 그래서 for 문이 무한 루프에 빠지게 됩니다.
for 문에서 특이한 것이 있다면 5행의 for(i=0; 1; i++)의 표현은 for(i=0; i++)의 표현과 같습니다. for 문에 조건값을 비워 두어도 무한 루프와 같은 역할을 합니다. 참고적으로 while 문에서는 while()처럼 조건값을 비우면 에러가 발생합니다.
예제 코드는 무한 루프를 강제 종료해야 합니다. 예제 7-9의 7행 바로 아래에 다음과 같은 코드를 추가해 봅시다
break 문을 이용하여 반복 횟수를 저장하고 있는 변수 1의 값이 10을 초과하면 자연스럽게 무한 루프를 탈출합니다. break 문은 무한 루프를 탈출시키는 중요한 키워드입니다. 다음 장 조건문에서 break 문에 대하여 자세히 배울 예정입니다.
반응형
'프로그래밍언어 > C언어' 카테고리의 다른 글
for 문의 여러 가지 변형 (0) | 2022.07.04 |
---|---|
반복문을 만드는 방법2 - 중첩 for 문 (0) | 2022.05.24 |
반복문을 만드는 방법2 - for문 (0) | 2022.05.20 |
반복문을 만드는 방법1 - 중첩 while 문 (0) | 2022.04.09 |
반복문을 만드는 방법1 - while 무한 루프(무한 반복문) (0) | 2022.03.22 |
댓글