这个 Fortran 代码是什么意思:
IF (J1-3) 20, 20, 21
21 J1 = J1 - 3
20 IF (J2-3) 22, 22, 23
23 J2 = J2 - 3
22 CONTINUE
我在旧项目中见过,我不知道这个带有数字(标签)的 IF 是什么意思。
这是来自 FORTRAN 77 的算术if语句。改编自 FORTRAN 77 规范(重点是我的):
算术
IF语句的形式为:
IF (e) s1 , s2 , s2
其中:
e是整数、实数或双精度表达式
s1,s2, 和s3是与算术语句出现在同一程序单元中的可执行语句的语句标签IF。同一个语句标签在同一个算术语句中可能出现多次IF。执行算术
IF语句会导致对表达式进行评估,e然后转移控制。由、或标识的语句接下来执行,因为 的值分别小于零、等于零或大于零。s1s2s3e
对于您问题中的示例,从上面的最后一句话中,
J1-3 < 0将执行语句 20J1-3 = 0语句 20 也将被执行J1-3 > 0将执行语句 21编辑:一种现代且更具可读性的编写方式是:
if (J1-3 > 0) J1 = J1 - 3
if (J2-3 > 0) J2 = J2 - 3