Fortran goto 语句
2023-12-29 14:55 更新
如下所示,这里的 goto 语句的用法与汇编语言的 goto 语句有点类似,指定一个行号即可无条件跳转到该行执行。如果是像下面这样调用 goto 语句的行在跳转到的行之前,那么它们之间的行都会被完全忽略。如示例 11 所示,
a = 15
的赋值语句会被忽略所以 a 的值是在 goto 语句执行之前赋的值 10;同理,b = 11
的赋值语句在 goto 语句和跳转行之间会被忽略,跳转行的 b = 20
生效。如示例 12 所示,当 goto 语句跳转到它之前行执行时,就会造成无限循环,每次执行到 goto 语句就会又跳转到前面,这样 goto 语句后面的命令都不会被执行。我们在使用 goto 语句时对跳转的行一定要非常注意,一不小心很容易造成死循环。建议使用 goto 语句的时候跳转到其后的行,杜绝跳转到前面的行。
为了提高代码可读性,我们不想将 goto 语句跳转的行直接指向一个操作或者命令,这时我们就可以用 continue 来代替跳转行,如示例 13 所示。
goto 行号
行号 操作或命令
!!! 示例 11
a = 10
goto 8
b = 11
a = 15
8 b = 20
print *, a, b ! 此处输出 a 的值为 10,b 的值为 20
!!! 示例 12
8 a = 10
b = 11
a = a + b
goto 8
b = b - a ! 永远不会被执行
print *, a, b ! 永远不会被执行
!!! 示例 13
8 continue
a = 10
b = 11
a = a + b
goto 8
以上内容是否对您有帮助:
更多建议: