求帮忙看看哪里出错了
PROGRAM grads2binary
IMPLICIT NONE
EXTERNAL rrc
INTEGER::i,j,k,iyear
REAL::nino(63,12),slp(144,73,63)
REAL::nino1(63),slp1(63),r,rr(144,73)
OPEN(1,FILE='D:\GRADS_files\nino34.txt')
OPEN(2,FILE='D:\GRADS_files\slp.jan.grd',FORM='unformatted',ACCESS='stream')
OPEN(3,FILE='D:\GRADS_files\rr.txt')
OPEN(4,FILE='D:\GRADS_files\rr.grd',FORM='unformatted',ACCESS='stream')
DO i=1,63
READ(1,*) iyear,(nino(i,j),j=1,12)
END DO
CLOSE(1)
PRINT*,'nino读取数据为:'
WRITE(*,*) nino(63,12)
READ(2,*) (((slp(i,j,k),i=1,144),j=1,73),k=1,63)
CLOSE(2)
DO j=1,144
DO k=1,73
DO i=1,63
nino1(i) = nino(i,1)
slp1(i) = slp(j,k,i)
END DO
CALL rrc(nino1,slp1,r)
rr(j,k) = r
END DO
END DO
WRITE(3,*) rr(144,73)
WRITE(4,*) rr(144,73)
CLOSE(3)
CLOSE(4)
END
SUBROUTINE rrc(nino1,slp1,r)
IMPLICIT NONE
REAL :: nino1(63),slp1(63),r,ave1=0.0,ave2=0.0,var1=0.0,var2=0.0,cov=0.0
INTEGER i,j,k
DO i=1,63
ave1 = ave1 + nino1(i)/63.0
ave2 = ave2 + slp1(i)/63.0
END DO
DO i=1,63
var1 = var1 + (nino1(i)-ave1)**2
var2 = var2 + (slp1(i)-ave2)**2
END DO
DO i=1,63
cov = cov + (nino1(i)-ave1)*(slp1(i)-ave2)
END DO
r = cov/sqrt(var1*var2)
END
运行过程中会触发中断,屏幕上也不会出现输出任何内容,找了半天也不知道代码哪里出现了问题,求帮忙解答
“grads2binary.exe”(Win32): 已加载“D:\Visual Studio 2012\Projects\grads2binary\grads2binary\Debug\grads2binary.exe”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcr110d.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libifcoremdd.dll”。模块已生成,不包含符号。
“grads2binary.exe”(Win32): 已加载“C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libmmd.dll”。已加载符号。
“grads2binary.exe”(Win32): 已卸载“C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libmmd.dll”
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\imagehlp.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\ucrtbase.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libmmd.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\dbghelp.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\combase.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\oleaut32.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcp_win.dll”。已加载符号。
“grads2binary.exe”(Win32): 已加载“C:\Windows\SysWOW64\bcryptprimitives.dll”。已加载符号。
grads2binary.exe 已触发了一个断点。
线程 0x354c 已退出,返回值为 257 (0x101)。
线程 0x4de4 已退出,返回值为 257 (0x101)。
线程 0x1080 已退出,返回值为 257 (0x101)。
程序“[9596] grads2binary.exe”已退出,返回值为 257 (0x101)。
参考GPT和自己的思路:根据输出信息,程序在运行过程中触发了一个断点,这通常是由调试器设置而导致的。建议检查程序代码中是否设置了断点并尝试移除它们。同时,你也可以将代码段进行拆分测试,逐段调试,一步步排查问题所在。另外,也建议检查输入输出文件的路径是否正确并且文件格式是否匹配。