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
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号