gpt4 book ai didi

Fortran 转到范围

转载 作者:行者123 更新时间:2023-12-04 22:07:03 26 4
gpt4 key购买 nike

我有一个遗留的 Fortran 代码,其中包含许多诸如“goto 50”之类的语句。我想知道 goto 的目标是全局的还是本地的。我的意思是,如果多个函数的目标是“50”,那么 goto 会指向哪里。

谢谢回答。

最佳答案

语句标签(例如,“50”)必须在当前的“作用域单元”中定义,它在此上下文中基本上转换为 goto 调用所在的子例程/函数(或主程序,如果调用位于主程序)。

例如,在下面的程序中,主程序和两个包含的子程序都有自己的标签 50,goto 转到“他们的”第 50 行。

program testgotos
implicit none

goto 50
call second
50 call first
call second

contains

subroutine first
integer :: a = 10

goto 50
a = 20
50 print *,'First: a = ', a

end subroutine first

subroutine second
integer :: a = 20

goto 50
a = 40
50 print *,'Second: a = ', a

end subroutine second

end program testgotos

关于Fortran 转到范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com