Pascal - goto 语句

Pascal 中的 goto 语句提供从 goto 到同一函数中标记语句的无条件跳转。

注意 − 在任何编程语言中都强烈建议不要使用 goto 语句,因为它会导致难以跟踪程序的控制流,从而使程序难以理解且难以修改。 任何使用 goto 的程序都可以重写,以便不需要 goto。

语法

Pascal 中 goto 语句的语法如下 −

goto label;
   ...
   ...
label: statement;

这里,label必须是无符号整数标签,其值可以是从1到9999。

流程图

Pascal goto 语句

示例

下面的程序说明了这个概念。

program exGoto;
label 1; 
var
   a : integer;

begin
   a := 10;
   (* repeat until loop execution *)
   1: repeat
      if( a = 15) then
      
      begin
         (* skip the iteration *)
         a := a + 1;
         goto 1;
      end;
      
      writeln('value of a: ', a);
      a:= a +1;
   until a = 20;
end.

当上面的代码被编译并执行时,会产生以下结果 −

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

请注意 −

  • 在 Pascal 中,所有标签必须在常量和变量声明之前声明。

  • ifgoto 语句可以在复合语句中使用,以将控制权转移出复合语句,但将控制权转移到复合语句中是非法的。

❮ pascal_loops.html