Fortran 计算的GOTO无法执行

Fortran 计算的GOTO无法执行,fortran,goto,fortran77,go-to-definition,Fortran,Goto,Fortran77,Go To Definition,我在Fortran 77代码(gfortran编译器)中遇到了一个奇怪的行为, 以下行工作正常(对于iprob=202,跳到标签202): 然而,其对应方: GO TO ( 202 ), iprob !...some commands... 202 continue 没有。该程序仅针对iprob=202运行 也许有人对这个问题有想法吗?表格 go to ( 202 ), iprob 是一个计算的go to语句。在这样的语句中,有一个标签列表(这里只有一个202)和

我在Fortran 77代码(gfortran编译器)中遇到了一个奇怪的行为, 以下行工作正常(对于iprob=202,跳到标签202):

然而,其对应方:

      GO TO ( 202 ), iprob
      !...some commands...
  202 continue
没有。该程序仅针对iprob=202运行

也许有人对这个问题有想法吗?

表格

go to ( 202 ), iprob
是一个计算的go to语句。在这样的语句中,有一个标签列表(这里只有一个
202
)和一个选择标签的整数表达式(这里是
iprob

标签选择按列表中的顺序进行。因此,要选择第一个标签,表达式的值应为
1
。当
iprob
具有值
202
时,将选择第202个标签(如果存在)。当整数表达式超出范围(小于1,大于列表中的标签数)时,继续执行下一行。在goto里跑,就像你看到的那样


您可能会想到指定的go to语句,其中标签由表达式的值决定。不过,我不会详细说明,因为它不再是Fortran标准的一部分。

你是说,在计算goto的情况下,
iprob
有值
202
,而不是
1
?是的,在这两种情况下iprob=202。我知道这些文件,在“计算转到”案例中没有发现任何错误。因此,我感到困惑,为什么它失败了。其他地方可能有错误,但我到目前为止没有看到。我的错误!我误解了这个命令,因为iprob=1,它会跳转。很抱歉弄糊涂了。非常感谢!这就解决了问题。我总是觉得计算的GOTO有点混乱。我知道这是fortran77,但在fortran90中选择的案例似乎值得一看。
go to ( 202 ), iprob