在任务中排名2和1不相容

时间:2015-03-04 18:19:02

标签: fortran gfortran

这是我的代码:

program test
integer, dimension(3,3) :: a =(/1,2,3,4,5,6,7,8,9/)
do i=1,3
write(*,*) (a(i,j),j=1,3)
enddo
end program

我收到以下错误:

  

在(1)

的任务中,第2和第1级不相容

初始化方法是否错误?

1 个答案:

答案 0 :(得分:4)

目前,您正在尝试将一维数组(长度为9)分配给2D(3x3)数组。在分配之前,您需要reshape数组:

program test
  integer, dimension(3,3) :: a = reshape( (/1,2,3,4,5,6,7,8,9/), (/ 3,3/))
  do i=1,3
    write(*,*) (a(i,j),j=1,3)
  enddo
end program