2

以下のYのタイプはREALだと思います。

      SUBROUTINE F(X, Y)
C        IMPLICIT NONE
        REAL :: X, Y
C        REAL :: A, B
C        REAL, PARAMETER :: C = 3.14E0
C        X = Y + 2 * SIN(Y)
      END

しかし、ここでのタイプは何ですか?

      SUBROUTINE F(X, Y)
C        IMPLICIT NONE
        REAL X, Y
C        REAL :: A, B
C        REAL, PARAMETER :: C = 3.14E0
C        X = Y + 2 * SIN(Y)
      END

その行の先頭にあるREALトークンのために、暗黙的に入力されたのですか、それともREALですか?型宣言の範囲は、、まで、または行末までは何ですか?

そして、::はどのような目的に役立ちますか?

(申し訳ありませんが、真夜中に混乱した状態でパーサーに取り組んでいると、間違った仮定をすることを恐れ、その瞬間の知恵は、より多くの経験を持つ他の人に相談するように言います。)

4

2 に答える 2

1

行末までのスコープ:YはREALです

「::」に関しては、FORTRAN90では新しいものです

于 2009-06-28T02:44:36.680 に答える
1

を宣言しIMPLICIT NONEたので、暗黙の入力は行われません。正解です。1行で複数の変数を宣言YできREALます。

この::文字は、実際の変数名からタイプとオプションを指定するために、Fortran90宣言で使用されます。お気づきのように、コンパイラは通常、省略しても問題ありませんが、含めるとはるかに読みやすくなることがわかりました。

ちなみに、このコードはFORTRAN 77スタイルを使用して記述されているようです。新しいコードの場合は、コメントからインデントまで、Fortran 90スタイルの構文を使用してコードを記述できます(たとえば、コマンドを開始する必要はありません)。特定の列では、より多くの組み込み関数、動的メモリなどが利用可能です。)

于 2009-06-28T05:03:30.667 に答える