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的时候出现错误。

一直找不到原因,恳请指点。