求助:程序调试
程序段如下:DO 101 I=1,8
DO 101 J=1,8
101 SME(I,J)=0.0D0
用断点调试的时候显示i,j的值。当到达i=2,j=3 的时候,下一步突然
变成i=0,j=1,然后程序显示array bounds exceeded。到此程序中断。无法执行。
前面的主程序和子程序程序调试都没有问题。没有编译和连接错误。
定义的是dimension sme(8,8)
求教:可能是什么问题啊?莫非跟前面的程序有关?
谢谢!
[ 本帖最后由 xinyuxf 于 2007-4-29 15:51 编辑 ] DOI=1,8
DOJ=1,8
SME(I,J)=0.0D0
ENDDO
ENDDO
这样不行吗? 不行额。。。通不了。
烦死了,头都大了。。 .
本身这段代码没有问题,可以单独试试肯定可以运行。
那么依据经验就是你程序里有其他那里出现问题,这种问题最大可能是数组使用超界了,导致其他变量没有按照程序设计的去运行... .
遇到问题,解决问题,就是提高的过程,天下那有事事都不费力的呀... DO 101 J=1,8
和
101 SME(I,J)=0.0D0
之间是否还存在其它代码?
感谢!
感谢各位高手的热心回复。因为这几天一直在调程序,所以没有上论坛。
最后程序调试通过了。错误原因还是程序参数传递出现了错误。主程序和子程序以及实参和形参之间数据传递出了问题。
现在改好了。
再次感谢本版版主和各位热心的网友!
页:
[1]