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