这个很好地起作用: program main integer,parameter,dimension(3) :: x = [1,2,3] print*,x end program main 就像这样: program main integer,parameter,dimension(3) :: x = (/1,2,3/) print*,x end program main 有没有理由认为一种形式应该比另一种形式更受欢迎(例如向后兼容性)?
方括号形式是Fortran 2003中添加的语言特性。如果您正在编写Fortran 90(如问题标签所示),则方括号形式是语法错误(方括号不在Fortran 90字符集中)。 除了语言标准之外,个人偏好和风格也是一个问题。
call somearrayfunc((/ 1, 2, 3 /))
与call somearrayfunc([ 1, 2, 3])
。对我来说,第二种形式更易读。 - Bálint Aradi