在fortran中初始化参数数组的正确方法是什么?

mgi*_*son 6 fortran fortran90

这很好用:

  program main
    integer,parameter,dimension(3) :: x = [1,2,3]
    print*,x
  end program main
Run Code Online (Sandbox Code Playgroud)

就像这样:

  program main
    integer,parameter,dimension(3) :: x = (/1,2,3/)
    print*,x
  end program main
Run Code Online (Sandbox Code Playgroud)

是否有理由认为一种形式应优先于另一种形式(例如向后兼容性)?

Ian*_*anH 17

方括号形式已添加到Fortran 2003中的语言.如果您正在写Fortran 90(根据问题上的标记),则方括号形式是语法错误(方括号不在Fortran 90字符集中) .

超越语言标准,这是个人偏好和风格的问题.