Label 的用法 [Pascal]

2006-11-24 7:32 am
E.G.

Label a;
begin
{1}
end.

Label b;
begin
{2}
end.

如果我想由{1}跳到 Label b 應該點打.?

PS. 如果可以提供一些label 的用法或相關 procedure 或 function 更佳 (不為必須)

回答 (1)

2006-11-25 5:20 am
✔ 最佳答案
道先 Label 一定要在同一個 Function / Procedure 內,而且不可以跳入 Scope (e.g. For loop, whle loop) 內。 由於太耐沒用 Pascal 了,Syntax 可能不對,請諒。

procedure A
label lbl_A, lbl_B;
var
a, b, c : integer;
begin
for a := 1 to 10 do
begin
for b := 1 to 10 do
begin
if b = 5 then
{ OK, jump out the scope }
goto lbl_A;
end;
lbl_A:
writeln("After Lbl_A");
{ OK, same scope }
goto lbl_B;

writeln("Between Lbl_A and Lbl_B");

lbl_B:
writeln("Lbl_B");
end;

{ Error, cannot jump into scope }
goto lbl_A;
end;


收錄日期: 2021-05-02 21:34:33
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20061123000051KK05341

檢視 Wayback Machine 備份