- 帕斯卡教程
 - 帕斯卡 - 主页
 - 帕斯卡 - 概述
 - Pascal - 环境设置
 - 帕斯卡 - 程序结构
 - Pascal - 基本语法
 - Pascal - 数据类型
 - Pascal - 变量类型
 - 帕斯卡 - 常数
 - 帕斯卡 - 运算符
 - 帕斯卡 - 决策
 - 帕斯卡 - 循环
 - 帕斯卡 - 函数
 - 帕斯卡 - 程序
 - Pascal - 变量作用域
 - 帕斯卡 - 弦乐
 - 帕斯卡 - 布尔
 - 帕斯卡 - 数组
 - 帕斯卡 - 指针
 - 帕斯卡 - 记录
 - 帕斯卡 - 变体
 - 帕斯卡 - 集合
 - 帕斯卡 - 文件处理
 - 帕斯卡 - 记忆
 - 帕斯卡 - 单位
 - 帕斯卡 - 日期和时间
 - 帕斯卡 - 对象
 - 帕斯卡 - 类
 
- 帕斯卡有用资源
 - 帕斯卡 - 快速指南
 - 帕斯卡 - 有用的资源
 - 帕斯卡 - 讨论
 
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语句可以在复合语句中使用,以将控制权转移出复合语句,但将控制权转移到复合语句中是非法的。
pascal_loops.htm