【发布时间】:2020-05-20 17:55:02
【问题描述】:
程序接收信号SIGSEGV,分段错误 . qden.dat 文件是一个 30x30 矩阵,所以我不知道出了什么问题。
program poisson
implicit none
integer :: ierror
integer :: ni,nj=30 ! input cell number in the x and y direct
integer :: ii
real(16),allocatable :: q_den(:,:)
integer :: lun_in
allocate(q_den(0:ni+1,0:nj+1))
! initialize charge density
q_den=0.0
open(newunit=lun_in,file='qden.dat',status='old',iostat=ierror)
! Read data into arrays
do ii=1,30
read(lun_in,*,iostat=ierror) q_den(1:30,ii)
end do
do ii=0,ni+1
write(*,'(*(es16.4e2))') q_den(ii,:)
end do
close(lun_in)
deallocate(q_den)
stop 0
end program poisson
感谢任何帮助。我很确定这应该只是一个小错字。
【问题讨论】:
-
你认为
integer :: ni,nj=30初始化ni吗? (它没有。)
标签: segmentation-fault fortran