• ベストアンサー

Fotran77 > 関数の実引数に*99

Fortran77の古いプログラムにおいて、 CALL FUNCA(0.D+0,1.D+0,NA,DA,WA,IPR,*99) という関数があります。 この関数の最後の実引数の"*99"は何を渡しているのでしょうか? 関数の中身では*99の部分は"*"として仮引数となっています。 そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

99は文番号です。 サブルーチンの中で、RETURNを実行すると、CALLの直後に戻ります。これは普通ですね。 RETURN 1 を実行すると、CALLの直後で無く文番号99に戻ります。 一般に、RETURN N を実行すると、仮引数の中でN番目の * に対応する実引数の文番号に戻ります。 おおむね、エラー時の飛び先です。 READ(*,*,END=900,ERR=910) ~ だと、入力エラーで文番号910に飛び、ファイル終わりで文番号900に飛びますよね。それと似たもの。 >そもそも、こういう文法はどういうキーワードで探せばいいものでしょうか? SUBROUTINE文もしくはCALL文の文法を調べれば良いのでは?

flex1101
質問者

お礼

ご回答ありがとうございます。 回答いただきました内容にて理解ができました。 READ()のエラーの飛ぶには知っていましたが、SUBROUTINE文での使用までは考えが及びませんでした。 キーワードについても教えていただきありがとうございました。

関連するQ&A