Error: Expected variable in READ statement at (1) but with declared variables

Error: Expected variable in READ statement at (1) but with declared variables

这个问题似乎与Error: Expected variable in READ statement at (1)有关 但它不一样,因为我已经声明了变量。

program read_matrix
  integer :: m(3,3),n(3), i, j


  open(1001, file='data1.txt')
  do i = 1, 3
    read(1001,*) (m(i,j), (j=1,3))
  end do

end program read_matrix

data1.txt 是

1 2 3
4 5 6
7 8 9
10

我用gfortran编译了上面的fortran代码,得到了

read-1.f90:7.16:

    read(1001,*) (m(i,j), (j=1,3))
                1
Error: Expected variable in READ statement at (1)

因此,我想知道这是什么原因。谢谢

你的隐含循环是错误的。看括号。这里有你想要的

read(1001,*) (m(i,j), j=1, 3)