- ベストアンサー
Fotran77 > 関数の実引数に*99
Fortran77の古いプログラムにおいて、 CALL FUNCA(0.D+0,1.D+0,NA,DA,WA,IPR,*99) という関数があります。 この関数の最後の実引数の"*99"は何を渡しているのでしょうか? 関数の中身では*99の部分は"*"として仮引数となっています。 そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
99は文番号です。 サブルーチンの中で、RETURNを実行すると、CALLの直後に戻ります。これは普通ですね。 RETURN 1 を実行すると、CALLの直後で無く文番号99に戻ります。 一般に、RETURN N を実行すると、仮引数の中でN番目の * に対応する実引数の文番号に戻ります。 おおむね、エラー時の飛び先です。 READ(*,*,END=900,ERR=910) ~ だと、入力エラーで文番号910に飛び、ファイル終わりで文番号900に飛びますよね。それと似たもの。 >そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか? SUBROUTINE文もしくはCALL文の文法を調べれば良いのでは?
お礼
ご回答ありがとうございます。 回答いただきました内容にて理解ができました。 READ()のエラーの飛ぶには知っていましたが、SUBROUTINE文での使用までは考えが及びませんでした。 キーワードについても教えていただきありがとうございました。