break语句跳出包含它的最内层while、do-until或for循环。break语句只能在循环体内部使用。以下示例找出给定整数的最小除数(大于1),并判断该数是否为素数:
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语句中的余数为零时,Octave立即跳出循环。这意味着Octave直接执行循环之后的语句并继续处理。(这与exit语句完全不同,exit会停止整个Octave程序。)
以下是另一个与前一个程序等效的程序。它展示了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
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4