【发布时间】:2016-02-24 11:25:07
【问题描述】:
最近我恢复了 Fortran,可能我缺少一些东西,但这种行为看起来很奇怪
当我运行以下代码(使用 ifort 编译)时,它只是声明了一个数组并设置了他的元素之一
PROGRAM sol_kernel2
IMPLICIT NONE
INTEGER, PARAMETER :: jpi=5,jpj=5
REAL, DIMENSION(jpi,jpj) :: sshn
PRINT *,jpi,jpj
sshn(10,10) = 150.0
PRINT *,sshn(10,10)
END PROGRAM sol_kernel2
我希望得到一个错误语句,例如 SEGMENTATION FAULT,因为我正在尝试使用内存不足的索引来设置 sshn 变量。我得到一个像这样的无错误输出
5 5
150.0000
如果我尝试在代码中设置
sshn(100,100) = 150.0
我明白了
5 5
0.0000000E+00
反正编译器也没有报错,但是这次150.0设置失败。你对此有什么提示吗?我无法弄清楚自己做错了什么。谢谢
【问题讨论】:
标签: arrays segmentation-fault fortran range