傳回
用途
RETURN 陳述式:
- 在函數子程式中,結束子程式的執行,並將控制權傳回給參照陳述式。 函數的值可供參照程序使用。
- 在子常式子程式中,結束子程式,並將控制傳送至程序參照之後的第一個可執行陳述式,或傳送至 替代 傳回點 (如果有指定的話)。
在主程式中,結束可執行程式的執行。
語法
規則
alith_expr 只能在子常式子程式中指定,而且它會指定 替代 傳回點。 讓 分鐘 成為 算術運算的值,如果 1 ≤ 分鐘 ≤ SUBROUTINE 或 ENTRY 陳述式中的星號數目,則會選取虛擬引數清單中第 分鐘個星號。 然後,控制權會回到位於陳述式 (其陳述式標籤指定為 CALL 陳述式中的 m 替代 傳回指定元) 的呼叫程序。 例如,如果 m 的值為 5 ,則控制會回到其陳述式標籤在 CALL 陳述式中指定為第五個 替代 傳回指定元的陳述式。
如果省略 thith_expr ,或如果其值 (m) 不在 SUBROUTINE 或 ENTRY 陳述式中星號數目的範圍 1 內,則會執行正常傳回。 控制權會回到 CALL 陳述式之後的陳述式上的呼叫程序。
執行 RETURN 陳述式會終止子程式的虛擬引數與提供給該子程式實例的實際引數之間的關聯。 子程式本端的所有實體都會變成未定義,除非如 導致取消定義的事件下所述。
子程式可以包含多個 RETURN 陳述式,但不需要一個。 函數或子常式子程式中的 END 陳述式具有與 RETURN 陳述式相同的效果。
範例
CALL SUB(A,B)
CONTAINS
SUBROUTINE SUB(A,B)
INTEGER :: A,B
IF (A.LT.B)
RETURN ! Control returns to the calling procedure
ELSE
...
END IF
END SUBROUTINE
END
