Fortran Coder

查看: 50|回复: 2

[流程控制] 求助,关于goto循环引起的数组越界问题

[复制链接]

5

帖子

3

主题

0

精华

新人

F 币
26 元
贡献
16 点
发表于 2020-6-17 12:46:24 | 显示全部楼层 |阅读模式
运行的时候提示IA数组越界,然后自己查看了下代码,怀疑是KI=I,KI=I-1这里的原因,但不是很确定。所以希望有大神可以指点一下。万分感谢!!!
[Fortran] 纯文本查看 复制代码
IF(HIN.LT.0.0) THEN        !为非饱和状态
        IF(INDEX.EQ.0) THEN        !排水
        DO I=1,N
        IF(B(I,1).GT.BC) THEN
        IA(I,1)=-1
        ENDIF
        IF(B(I,M).GT.BC) THEN
        IA(I,M)=-1
        ENDIF
        ENDDO
        DO J=2,M-1
        DO I=1,N
        IF(IA(I,J-1).EQ.-1.AND.B(I,J).GT.BC) THEN
        IA(I,J)=-1
        KI=I
   10 KI=KI-1
        IF(KI.GE.1) THEN
        IF(B(KI,J).GT.BC) THEN
        IA(KI,J)=-1
        GOTO 10
        ENDIF
        ENDIF
        KI=I
回复

使用道具 举报

822

帖子

0

主题

0

精华

宗师

F 币
1273 元
贡献
710 点

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

QQ
发表于 2020-6-17 13:06:35 | 显示全部楼层
根据部分代码,无法推测运行时错误。

150

帖子

13

主题

0

精华

大宗师

F 币
3819 元
贡献
724 点
发表于 2020-6-18 03:30:29 | 显示全部楼层
同意楼上
同时,凡是与goto有关的问题,最好的方法是不要用goto
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2020-7-8 18:24

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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