Fortran Coder

查看: 9413|回复: 6
打印 上一主题 下一主题

[流程控制] 循环变量值问题

[复制链接]

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
跳转到指定楼层
楼主
发表于 2015-3-7 10:06:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个循环变量 明明写的是 i , j 都是从1 开始循环  ,为什么程序运行中显示 i , j 的值都是从0 开始呢 ? 导致总是报错数组越界。求助啊!谢谢

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

shzuu.jpg

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

边界

边界
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

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

既然你知道如何调试,我建议你在 do 循环上下断点,单步观察 j 是否从 0 开始。(一般来说不会的)

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
板凳
 楼主| 发表于 2015-3-7 16:59:18 | 只看该作者
多谢啊! 但是在调试程序中出现了循环变量自动更新的问题。在DO 循环计算完后,t,i,j  都自动加了1 ,不知道是为什么,请大神释疑。

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

界值自动更新.png

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
地板
 楼主| 发表于 2015-3-7 17:03:50 | 只看该作者
fcode 发表于 2015-3-7 11:57
在触发运行时错误以后,调试器里的变量值就不一定可信了。所以你的问题可能并不是 j=0 导致的。

既然你知 ...

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

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

21.png

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

22.png

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

23.png

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
5#
发表于 2015-3-7 17:03:57 | 只看该作者
Do 循环计算完毕后,确实会出现循环变量+1的情况。
因为在 t 从 1 循环到 m 的时候,都会执行循环体。当 t = m+1 时,循环判断满足终止条件,退出循环。

100

帖子

0

主题

0

精华

专家

F 币
550 元
贡献
291 点

规矩勋章元老勋章

QQ
6#
发表于 2015-3-7 17:11:30 | 只看该作者
一旦循环执行完了 , 循环变量是什么值,就说不清了.

你可以再对其赋值,然后重复利用. 但不能直接取值.

17

帖子

9

主题

0

精华

入门

F 币
104 元
贡献
62 点
7#
 楼主| 发表于 2015-3-14 20:51:49 | 只看该作者
fcode 发表于 2015-3-7 11:57
在触发运行时错误以后,调试器里的变量值就不一定可信了。所以你的问题可能并不是 j=0 导致的。

既然你知 ...

http://bbs.fcode.cn/thread-529-1-1.html  版主大哥能帮我看看吗?可能是哪方面出的问题呢?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-29 03:05

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表