Fortran Coder
标题:
FORTRAN 编程中遇到的问题 麻烦各位大神帮忙
[打印本页]
作者:
我是你的眼
时间:
2016-3-31 19:51
标题:
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)
但是在程序运行的时候 确有这样的问题,
QQ截图20160331194904.jpg
(42.17 KB, 下载次数: 232)
下载附件
2016-3-31 19:48 上传
请各位大神帮忙解决这个问题
作者:
楚香饭
时间:
2016-3-31 20:43
本帖最后由 楚香饭 于 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调试一下。
如果还是无法解决,请给出全部的代码和输入输出文件。
欢迎光临 Fortran Coder (http://bbs.fcode.cn/)
Powered by Discuz! X3.2