算术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"