Fortran 77:IF语句,其变量作为参数,后跟label语句

时间:2014-06-05 06:51:22

标签: fortran fortran77

我从FORTRAN 77编写的模型中看到了这个FORTRAN语句。我不知道这意味着什么。如果有人可以发光,会很高兴。

以下是代码的外观:

如果(NC)20,20,10

注意:NC是一个变量(我认为),后面的数字是标签语句(我认为)。

我的问题是,上述陈述是什么意思?我理解通常在“IF”声明之后,括号中应该有一个参数,例如: (a< 20)。但是,在这种情况下,括号中只有一个变量。

1 个答案:

答案 0 :(得分:5)

这是一个算术,如果从Fortran I天。从F90开始不再提供。它是IBM汇编程序中IBM 3方向跳转指令的直接转换。现在没有多少机器架构有3路跳跃。

if (x) 10, 20, 30

装置

if (x .lt. 0) goto 10
if (x .eq. 0) goto 20
if (x .gt. 0) goto 30  ! if statement not strictly necessary

所以在你的情况下,这意味着

if (nc .le. 0) goto 20
if (nc .gt. 0) goto 10