mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 14:07:57 +02:00
32 lines
722 B
ObjectPascal
32 lines
722 B
ObjectPascal
{
|
|
In this simple examply, the even loop is wrong. When continue; is called,
|
|
it should go back to the top and check the loop conditions and exit when i =
|
|
4, but continue skips checking the loop conditions and does i=5 too, then it
|
|
is odd, doesn't run the continue, and the loop terminates properly.
|
|
}
|
|
|
|
|
|
procedure demoloop( max:integer );
|
|
var i : integer;
|
|
begin
|
|
i := 1;
|
|
while (i <= max) do
|
|
begin
|
|
if (i mod 2 = 0) then
|
|
begin
|
|
writeln('Even ',i,' of ',max);
|
|
inc(i);
|
|
continue;
|
|
end;
|
|
writeln('Odd ',i,' of ',max);
|
|
inc(i);
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
writeln('Odd loop (continue is *not* last call):');
|
|
demoloop(3);
|
|
writeln('Even loop (continue is last call):');
|
|
demoloop(4);
|
|
end.
|