FORTRAN 编程中遇到的问题 麻烦各位大神帮忙
刚学fortran不久 m和mag的定义是这样的:real(kind=8),allocatable:: m(:,:,:) allocate(m(NNx,NNy,NNz)) real(kind=8)store(2*NNx*NNy*NNz),mag(NNx*NNy*NNz)但是在程序运行的时候 确有这样的问题,
请各位大神帮忙解决这个问题
本帖最后由 楚香饭 于 2016-3-31 20:49 编辑
当 iz 循环到 NNz 时
ixiyiz = (iz-1)*NNx*NNy + (ix-1)*NNy + iy
= NNz*NNx*NNy + (ix-1)*NNy + iy
> NNz*NNx*NNy
那么 mag(ixiyiz) 就会越界,因为 mag 数组的上限为 NNx*NNy*NNz
当然,在你的错误提示里,不一定错误是发生在给出代码的位置。
你可以检查 mprism.f90 文件的第 43 行
也可以自己单步debug调试一下。
如果还是无法解决,请给出全部的代码和输入输出文件。
页:
[1]