Fortran Coder

数组越界求大神帮帮忙!!!

查看数: 17506 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-6-16 20:43

正文摘要:

老师给了一段程序 运行起来后出现了下图的错误 [Fortran] 纯文本查看 复制代码IF(INDEX.EQ.0) THEN        !排水         DO J=1,M    &nbs ...

回复

12345 发表于 2024-4-10 13:29:39
请问这个问题最终是怎么解决的呀,我现在也遇到了类似的问题
necrohan 发表于 2020-6-18 09:27:14
楼主已经另开多贴,
http://bbs.fcode.cn/thread-2399-1-1.html
这个帖子有完整代码
qxqxaz 发表于 2020-6-17 10:14:58
necrohan 发表于 2020-6-17 08:12
从你给的那段程序看,由于DO循环都是从1开始的,不会出现IA序号为0的情况,应该不是这段程序的问题。 ...

大神,能帮我在看一看是不是下面这段代码出了问题?
[Fortran] 纯文本查看 复制代码
IF(INDEX.EQ.0) THEN        !排水
        DO J=1,M
        DO I=1,N
        IA(I,J)=1 !初始化,从全饱和开始
       !IA为含水(=1)、充气(=-1)指示矩阵        
        IF(B(I,J).EQ.0.0) IA(I,J)=-1 !接触局域假设为充气
        ENDDO
        ENDDO
        ELSE !吸水
        DO J=1,M
        DO I=1,N
        IA(I,J)=-1 !初始化,从干燥开始
       !IA为含水(=1)、充气(=-1)指示矩阵
qxqxaz 发表于 2020-6-17 09:55:16
fcode 发表于 2020-6-17 08:11
就是IA定义为 IA(M,N)
但是你引用了 IA(0,i) ,造成数组越界。

按您说的,那是我这段代码里出错了吗?我自己看看都是从1开始循环的,所以不知道该怎么该。
necrohan 发表于 2020-6-17 08:12:55
从你给的那段程序看,由于DO循环都是从1开始的,不会出现IA序号为0的情况,应该不是这段程序的问题。
fcode 发表于 2020-6-17 08:11:44
就是IA定义为 IA(M,N)
但是你引用了 IA(0,i) ,造成数组越界。

Fortran下标默认从1开始哟~~

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

GMT+8, 2024-5-14 09:30

Powered by Tencent X3.4

© 2013-2024 Tencent

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