アプリ版:「スタンプのみでお礼する」機能のリリースについて

Fortran77の古いプログラムにおいて、
CALL FUNCA(0.D+0,1.D+0,NA,DA,WA,IPR,*99)
という関数があります。

この関数の最後の実引数の"*99"は何を渡しているのでしょうか?

関数の中身では*99の部分は"*"として仮引数となっています。

そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか?

A 回答 (1件)

99は文番号です。



サブルーチンの中で、RETURNを実行すると、CALLの直後に戻ります。これは普通ですね。
RETURN 1 を実行すると、CALLの直後で無く文番号99に戻ります。

一般に、RETURN N を実行すると、仮引数の中でN番目の * に対応する実引数の文番号に戻ります。

おおむね、エラー時の飛び先です。
READ(*,*,END=900,ERR=910) ~
だと、入力エラーで文番号910に飛び、ファイル終わりで文番号900に飛びますよね。それと似たもの。


>そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか?

SUBROUTINE文もしくはCALL文の文法を調べれば良いのでは?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

回答いただきました内容にて理解ができました。

READ()のエラーの飛ぶには知っていましたが、SUBROUTINE文での使用までは考えが及びませんでした。


キーワードについても教えていただきありがとうございました。

お礼日時:2014/03/05 11:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!