Кажется, что быстрый 30-секундный тест ответил бы на это быстрее, чем пост здесь. :)
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i, j: Integer;
begin
j := 0;
i := 0;
while i < 10 do
begin
Inc(i);
if Odd(i) then
Continue;
Inc(j);
WriteLn(Format('i = %d, j = %d', [i, j]));
end;
ReadLn;
end.
Обратите внимание, что i
увеличивается перед вызовом на Continue
, что приводит к j
отображению нечетных чисел, а я even
? j
увеличивается только тогда, когда цикл проходит тест Continue
.
A while
работает одинаково, независимо от того, увеличиваете ли вы целое число, объединяете строку или читаете из текстового файла. while
- это while
- это while
независимо от того, как вы его используете. Вам просто нужно убедиться, что в приведенном выше коде DoSomething
действительно читает следующую строку из файла, иначе вы попадете в непрерывный цикл.