主题:运行出现access violation,但是数组分配的内存空间并不大也没有上下界越界
gp是一个real(8)类型的全局变量s,在主程序中allocate(gp(5000))。进行简单的do循环居然出现类似forrtl: severe (157): Program Exception - access violation的错误。给出的错误对话框为:
xx.exe中的0x0000000014020269f处未处理的异常:0xc0000005:读取位置0xffffffffb5044eb0时
发生访问冲突。
代码如下
。。。
do i=1,5000
ik=i+75-1
IF(IK.GT.5000) IK=5000
tmp=0
DO J=I+1,IK
GP(I)=GP(I)+tmp
end do !!!此处end do 出现错误
end do
程序在运行第一个循环i=1,j=2时,在运行到第一个end do的时候出现错误。
一直找不到原因,恳请指点。