我碰到了这段帕斯卡代码。我很好奇这种情况不会不断重复。
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 :(得分:2)
应该一直持续到0 <> 0
为止的循环。
但是在循环内部,有些条件会破坏循环,因此使用关键字break
。
实际上,repeat..until
循环只会运行一次。进行比较是,如果一个值大于一个条件或小于一个条件,则它将退出循环。如果不满足这些条件,则它将无法解决。