如何正确使用Fortran语句标签?

8
我正在处理一个用Fortran 95编写的模型,但我对它完全陌生。语句标记的概念似乎很奇怪,目前我只找到了一种解释,即标记可以由作者任意决定,通常增加10个为单位。
除了更容易地确定语句结束的位置外,这些标签是否有其他实际用途?同时,是否有普遍接受的标记方法?

如何正确使用它们的字面意思是“不要使用”。如果您有任何无法更新到现代标准的特定示例,请发表。 - agentp
1
一些有趣的历史在这里:https://dev59.com/r3RB5IYBdhLWcg3wtZMV -- 它确实是古老的历史,在80年代中期,我们已经不再为Fortran按顺序编号了。 - agentp
1个回答

11

在现代Fortran中,我唯一能想到语句标签有用的方式是在使用goto时进行错误控制(是的,它们有时可能很有用——但要小心处理;-))。Chapman将它们列为“过时的(obsolescent)”。

另一方面,构造名称有时可以帮助读者理解您的代码,例如大型循环或if语句。构造名称的另一个用途是高级循环控制,例如在循环外部循环时:

outer: do i=1,10
  do ii=1,10
    if ( i == 2 .and. ii == 3 ) cycle outer
    z(ii,i) = 1.d0
  enddo
enddo outer

4
"outer" 是一个构造名称,而不是标签。它们在语法上有所不同。 - IanH
1
谢谢澄清,我已经在文本中进行了更改。 - Alexander Vogt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接