Fortran Coder

标题: 循环变量值问题 [打印本页]

作者: SNZB0405    时间: 2015-3-7 10:06
标题: 循环变量值问题
这个循环变量 明明写的是 i , j 都是从1 开始循环  ,为什么程序运行中显示 i , j 的值都是从0 开始呢 ? 导致总是报错数组越界。求助啊!谢谢

shzuu.jpg (51.47 KB, 下载次数: 302)

shzuu.jpg

11.png (25.99 KB, 下载次数: 300)

边界

边界

作者: fcode    时间: 2015-3-7 11:57
在触发运行时错误以后,调试器里的变量值就不一定可信了。所以你的问题可能并不是 j=0 导致的。

既然你知道如何调试,我建议你在 do 循环上下断点,单步观察 j 是否从 0 开始。(一般来说不会的)
作者: SNZB0405    时间: 2015-3-7 16:59
多谢啊! 但是在调试程序中出现了循环变量自动更新的问题。在DO 循环计算完后,t,i,j  都自动加了1 ,不知道是为什么,请大神释疑。

界值自动更新.png (1.86 KB, 下载次数: 295)

界值自动更新.png

作者: SNZB0405    时间: 2015-3-7 17:03
fcode 发表于 2015-3-7 11:57
在触发运行时错误以后,调试器里的变量值就不一定可信了。所以你的问题可能并不是 j=0 导致的。

既然你知 ...

上面一个图信息不全。这两个图里,显示DO 循环计算完毕后,t ,i,j 都自动加了1 ,不知道为什么。后面的函数好像也因为这个问题导致数组越界。

21.png (4.26 KB, 下载次数: 293)

21.png

22.png (2.2 KB, 下载次数: 280)

22.png

23.png (2.3 KB, 下载次数: 323)

23.png

作者: vvt    时间: 2015-3-7 17:03
Do 循环计算完毕后,确实会出现循环变量+1的情况。
因为在 t 从 1 循环到 m 的时候,都会执行循环体。当 t = m+1 时,循环判断满足终止条件,退出循环。
作者: 百事可乐    时间: 2015-3-7 17:11
一旦循环执行完了 , 循环变量是什么值,就说不清了.

你可以再对其赋值,然后重复利用. 但不能直接取值.
作者: SNZB0405    时间: 2015-3-14 20:51
fcode 发表于 2015-3-7 11:57
在触发运行时错误以后,调试器里的变量值就不一定可信了。所以你的问题可能并不是 j=0 导致的。

既然你知 ...

http://bbs.fcode.cn/thread-529-1-1.html  版主大哥能帮我看看吗?可能是哪方面出的问题呢?




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2