다음: 반복 회귀문, 이전: 횟수 조건 반복문, 상위 문서: 명령문   [차례][찾아보기]


10.6 반복 탈출문

break문이 자신이 안겨있는 while, do-until,for 반복문을 즉시 나가 반복문이 끝나는 지점 직후로 갑니다. break문은 반복문 몸체 안에서만 기능합니다. 아래 예시는 주어진 정수의 가장 작은 약수를 찾고, 또 약수의 소수 여부도 판별합니다.

num = 103;
div = 2;
while (div*div <= num)
  if (rem (num, div) == 0)
    break;
  endif
  div++;
endwhile
if (rem (num, div) == 0)
  printf ("Smallest divisor of %d is %d\n", num, div)
else
  printf ("%d is prime\n", num);
endif

나눗셈의 나머지가 첫 번째 while문에서 0이면, 바로 반복문을 탈출합니다. 이는 옥타브가 반복문 뒤에 있는 명령문으로 즉시 넘어가 처리를 계속한다는 것을 뜻합니다.(전체 옥타브 풀그림을 멈추는 exit문과 다릅니다.)

위 예시와 같은 역할을 수행하는 풀그림 예시입니다. while문의 조건식if break로 바꾸는 방법을 보여줍니다.

num = 103;
div = 2;
while (1)
  if (rem (num, div) == 0)
    printf ("Smallest divisor of %d is %d\n", num, div);
    break;
  endif
  div++;
  if (div*div > num)
    printf ("%d is prime\n", num);
    break;
  endif
endwhile