如何使用Fortran语句标签?

rya*_*lon 6 standards fortran coding-style fortran77 conditional-statements

我正在研究用Fortran 95编写的模型,我完全不熟悉它.声明标签的概念似乎很奇怪,和我到目前为止只找到了解释,该标签可以由作者来任意决定,一般按10递增.

这些标签是否有任何实际用途,除了在声明结束时更容易选择?和一个普遍接受的标签如何标签.

Ale*_*ogt 8

我认为语句标签在现代Fortran中有用的唯一方法是在使用gotos 时进行错误控制(是的,它们有时很有用 - 小心处理;-)).查普曼将它们列为"过时".

另一方面,构造名称有时可能有助于读者理解您的代码,例如大循环或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
Run Code Online (Sandbox Code Playgroud)

  • “外部”是构造名称,而不是标签。它们在语法上是不同的野兽。 (2认同)