문제

아래 Y의 유형이 실제라고 생각합니다.

      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

해당 라인의 시작 부분에서 실제 토큰 때문에 암시 적으로 타이핑 되었습니까? 나는 유형 선언의 범위가 무엇입니까?

그리고 어떤 목적을 제공합니까?

(미안, 자정에 혼란스러운 상태에서 구문 분석을하는 일을하는 것은 당신이 순간의 잘못된 가정과 지혜를 만드는 것을 두려워합니다.

도움이 되었습니까?

해결책

줄 끝까지의 범위 : y는 진짜입니다.

"::", 그것은 새로운 것입니다. Fortran 90.

다른 팁

당신은 선언했습니다 IMPLICIT NONE, 따라서 암시 적 타이핑은 진행되지 않습니다. 당신은 맞습니다 Y 될거야 REAL - 한 줄에서 여러 변수를 선언 할 수 있습니다.

그만큼 :: 문자는 Fortran 90 선언에 사용되어 실제 변수 이름에서 유형과 옵션을 지정합니다. 당신이 찾은 것처럼, 컴파일러는 일반적으로 그것을 남겨두면 행복하지만, 그것을 포함시키는 것이 훨씬 더 읽기 쉬운 것을 발견했습니다.

참고로,이 코드는 Fortran 77 스타일을 사용하여 작성된 것처럼 보입니다. 새로운 코드 인 경우 주석에서 인기까지 Fortran 90 스타일 구문을 사용하여 코드를 작성하고 싶을 수도 있습니다 (예 : 명령을 시작할 필요가 없습니다. 특정 열에는 더 많은 본질적인 기능, 동적 메모리 등이 있습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top