Next: The continue Statement, Previous: The for Statement, Up: Statements

### 11.6 The `break` Statement

The `break` statement jumps out of the innermost `for` or `while` 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