SCL用GOTO语句执行程序跳转

描述

用GOTO语句能够执行程序跳转。此引起立即跳转到指定标号,为此而到同块中不同的语句。

GOTO语句应只用在特定情况,如出错管理。根据结构化编程规则,不应使用GOTO语句。

这里,标号是在一个在LABEL/END_LABEL声明部分的标号。标号引出GOTO语句后下一步执行的语句。

如果使用GOTO语句,记住以下规则:

跳转的目标必须在同一个块内。

跳转的目标必须是唯一的标记。

跳入循环是不可能的。从循环跳出则是可能的。

例子(Example)

FUNCTION_BLOCK GOTO_EXA
VAR
  INDEX  : INT ;
  A      : INT ;
  B      : INT ;
  C      : INT ;
  IDWORD : ARRAY[1..51] OF STRING ;
END_VAR
LABEL
  LAB1, LAB2, LAB3 ;
END_LABEL

BEGIN
IF A > B THEN
  GOTO LAB1 ;
ELSIF A > C THEN
  GOTO LAB2 ;
END_IF ;
// . . .
LAB1: INDEX := 1 ;
        GOTO LAB3 ;
LAB2: INDEX := 2 ;
// . . .
LAB3:
// . . .






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分