对 Pascal 语法感到困惑

confused about Pascal syntax

我运行跨越了这段pascal代码。我很好奇这怎么不会无休止地重复。

repeat
  if xs>(torgx+xlim)
    then begin
      x:=xlim;
      BREAK;
    end;

  if xs<(torgx-xlim)
    then begin
      x:=0-xlim;
      BREAK;
    end;

  x:=xs-torgx; 
  BREAK;
until 0<>0; 

我对零如何大于或小于零感到困惑。

一直持续到 0 <> 0 的循环应该是无限的。 但是在循环内部有一些条件会打破循环,因此使用关键字 break.

事实上,repeat..until 循环只会 运行 一次。进行比较,如果一个值大于一个条件或小于另一个条件,它将跳出循环。如果满足这些条件中的 none,它无论如何都会中断。