Pascal - goto 语句
Pascal 中的 goto 语句提供从 goto 到同一函数中标记语句的无条件跳转。
注意 − 在任何编程语言中都强烈建议不要使用 goto 语句,因为它会导致难以跟踪程序的控制流,从而使程序难以理解且难以修改。 任何使用 goto 的程序都可以重写,以便不需要 goto。
语法
Pascal 中 goto 语句的语法如下 −
goto label; ... ... label: statement;
这里,label必须是无符号整数标签,其值可以是从1到9999。
流程图
示例
下面的程序说明了这个概念。
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 中,所有标签必须在常量和变量声明之前声明。
if 和 goto 语句可以在复合语句中使用,以将控制权转移出复合语句,但将控制权转移到复合语句中是非法的。