算术 if 语句

算术 if 语句允许根据算术表达式的结果使用三个分支

if (arith_expr) label1, label2, label3

if 语句将控制流传输到代码中的一个标签。如果 arith_expr 的结果为负,则涉及 label1,如果结果为零,则使用 label2,如果结果为正,则应用 label3。算术 if 需要所有三个标签,但它允许重复使用标签,因此这个陈述可以简化为两个分支 if

例子:

if (N * N - N / 2) 130, 140, 130

if (X) 100, 110, 120

现在这个功能已经过时,if 语句和 if-else 构造提供了相同的功能。例如,片段

    if (X) 100, 110, 120
100 print*, "Negative"
    goto 200
110 print*, "Zero"
    goto 200
120 print*, "Positive"
200 continue

可以写成 if-else 构造

if (X<0) then
  print*, "Negative"
else if (X==0) then
  print*, "Zero"
else
  print*, "Positive"
end if

一个 if 声明替代

    if (X) 100, 100, 200
100 print *, "Negative or zero"
200 continue

也许

if (X<=0) print*, "Negative or zero"