【问题标题】:Incompatible ranks 2 and 1 in assignment [duplicate]分配中不相容的等级2和1[重复]
【发布时间】:2015-05-05 21:09:29
【问题描述】:

这是我的代码:

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

初始化方法不对吗?

【问题讨论】:

    标签: fortran gfortran


    【解决方案1】:

    目前您正尝试将一维数组(长度为9)分配给一个二维(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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多