Next: The continue Statement, Previous: The for Statement, Up: Statements [Contents][Index]

### 10.6 The break Statement

The `break` statement jumps out of the innermost `while`, `do-until`, or `for` loop that encloses it. The `break` statement may only be used within the body of a loop. The following example finds the smallest divisor of a given integer, and also identifies prime numbers:

    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

When the remainder is zero in the first `while` statement, Octave immediately breaks out of the loop. This means that Octave proceeds immediately to the statement following the loop and continues processing. (This is very different from the `exit` statement which stops the entire Octave program.)

Here is another program equivalent to the previous one. It illustrates how the condition of a `while` statement could just as well be replaced with a `break` inside an `if`:

    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