10.6中断语句

这里的break语句跳出最内层while,do-untilfor包围它的循环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语句,立即退出循环的。这意味着Octave立即进入循环后的语句并继续处理。(这与exit语句,停止整个Octave程序。)

这是另一个与上一个程序等效的程序。它展示了conditionwhile语句也可以替换为break内部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

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2