【问题标题】:Errors in very simple fortran program非常简单的 fortran 程序中的错误
【发布时间】:2015-05-13 23:34:23
【问题描述】:

我是一个fortran初学者,正在编写一个非常简单的程序,编译器GNU fortran。

program t1
implicit none
real :: a, b
a=35.4
CHARACTER (LEN=*) :: str = 'This is a test program'
REAL, PARAMETER :: pi = 3.14
WRITE (*,*) a
WRITE (*,*) str
WRITE (*,*) pi
end program

我在第 3 行收到错误 Error: Unexpected data declaration statement

Error: Symbol 'a' has no IMPLICIT type 第 4 行和第 8 行类似。我不明白这里出了什么问题。有人可以评论吗?

【问题讨论】:

    标签: fortran fortran90 gfortran


    【解决方案1】:

    Fortran 有严格的顺序。首先你声明你的数据、变量、类型、接口,然后你有你的可执行代码,你不能混合它。使用顺序:

    program t1
    
      implicit none
    
      real :: a, b
      CHARACTER (LEN=*), parameter :: str = 'This is a test program'
      REAL, PARAMETER :: pi = 3.14
    
      a=35.4
    
      WRITE (*,*) a
      WRITE (*,*) str
      WRITE (*,*) pi
    end program
    

    【讨论】:

    • CHARACTER (LEN=*) :: str = 'This is a test program' Error: Entity with assumed character length at (1) must be a dummy argument or a PARAMETER 遇到错误你能告诉如何解决它吗?
    • 是的,只需使用固定长度的(len=100) 或添加parameter 属性。我不知何故以为你那里有parameter,但没有好好研究它..
    • 我没有正确理解你。你是这样说的CHARACTER, PARAMETER :: str = 'This is a test program' 吗?这也是一个错误。
    • 不,那将是一个字符,只是'T',其余的将被忽略。它实际上在我的回答中得到了纠正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多