Có vẻ một bài kiểm tra nhanh 30 giây sẽ trả lời nhanh hơn bài đăng ở đây. :)
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.
Lưu ý rằng i
được tăng lên trước khi cuộc gọi đến Continue
, mà kết quả trong j
hiển thị số lẻ, tôi hiển thị even
? j
chỉ tăng lên khi vòng lặp vượt qua kiểm tra Continue
.
A while
hoạt động theo cách tương tự cho dù bạn đang tăng số nguyên, nối một chuỗi hoặc đọc từ tệp văn bản. A while
là while
là while
bất kể bạn sử dụng nó như thế nào. Bạn chỉ cần chắc chắn rằng, trong mã của bạn ở trên, rằng DoSomething
thực sự đọc dòng tiếp theo từ tệp hoặc bạn sẽ kết thúc trong một vòng lặp liên tục.
Nguồn
2011-08-30 00:48:13
Đôi khi tôi thấy nó làm cho mã rõ ràng hơn nếu bạn có thể bỏ qua tiếp tục. Trong trường hợp của bạn: Nếu (AcctTag <> '') Và (MasterId <> '') Sau đó DoSomething; – johnny
@ johnny, hoàn toàn đồng ý, tiếp tục giống như một goto, sử dụng nó với sự chăm sóc cực độ hoặc đối mặt với cơn thịnh nộ của quái vật mã spaghetti. – Johan