• ベストアンサー

FORTRAN の引数について

FORTRAN の引数について FORTRANからCへの移植のため解析中なのですが引数の宣言について教えてください。 SUBROUTINEで次のような関数の時、引数の表現はどういった意味を表しているのでしょうか? SUBROUTINE AA(VAL1,VAL2,VAL3,VAL4,*,*,*) CALL AA(VALUE1,-5.D-03,5.D+04,1.D+00,*100,*3,*1) 引数はREAL型でこの時の2~4番目の表現と5番目以降の*付の数字の意味です。 ちなみにCALLは数箇所で呼ばれており、その度に*100以外の部分は宣言が 変わっています。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

解釈に困ったら, 最終手段として規格を読むことも考慮すべきではないかと思いつつ, Fortran2008 のドラフトを見ながら: まず 2~4番目の実引数の「D」は「この値の精度が DOUBLE PRECISION である」ことを明示しています. 値としては「E」に置き換えたものと同じ. このことは, 規格までいかなくても, ちょっとした資料なら書いてあると思うんだけどなぁ.... 次に 5番目以降の話ですが, これはサブルーチンにおいて「どこに戻るのか」を指定するために使います. つまり, 今の例だとサブルーチンAA から「CALL文の次に戻る」以外に, 呼び出したプログラムにおける文番号 100, 3 または 1 の与えられた文に戻ることが可能です. どこに戻るかはサブルーチンAA の RETURN文で与えられ, 今の例では ・RETURN 1 なら文番号 100 へ ・RETURN 2 なら文番号 3 へ ・RETURN 3 なら文番号 1 へ ・ただの RETURN なら (あるいは上に挙げた以外の値が与えられているなら) サブルーチンAA を呼び出した CALL文の次へ それぞれ戻ります. こっちは (上とは逆に) 普通の資料では見つからないかもしれません (が規格にはもちろん書いてある).

kuma200x
質問者

お礼

ありがとうございました。 規格書は所持していません。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

御安心ください. JIS 規格は持ってなくても「見るだけ」ならできます... といいたいんだけど, 今やってみたらうまくいかないなぁ....

参考URL:
http://www.jisc.go.jp/
kuma200x
質問者

お礼

ありがとうございます。 ちょっと見てみましたが規格というだけあってたくさんの情報があって しかもどれをみればいいんだか・・・。 ここにいきついてもどうしたらいいのか見慣れてないと大変かもでした。

関連するQ&A

専門家に質問してみよう