Fortran Coder

程序的变量值变化的很奇怪,求助

查看数: 10453 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-17 15:14

正文摘要:

程序执行过程中并没有给I,J赋值,为什么提示超出范围? [Fortran] 纯文本查看 复制代码PROGRAM PFSAP!ANALYSIS PROGRAM FOR PLANE FRAME INTEGER NO,NJ,N,NE,NM,NPJ,NPF,I,J,IE,IP,KK,I1 REAL K(200,200),KE(6,6),A ...

回复

吉大渣渣-固体 发表于 2018-5-19 19:21:52
chaunceyyou 发表于 2018-5-18 09:50
非常谢谢你,我刚接触fortran没多久,书上的程序用的版本比较老,再继续时一定注重规范 ...

客气 祝学习愉快
chaunceyyou 发表于 2018-5-18 09:50:13
吉大渣渣-固体 发表于 2018-5-17 23:04
坏在您的主程序中CALL PUTIN(NJ,N,NE,NM,NPJ,NPF,JN,X,Y,JE,JEAI,EAI,JPJ,PJ,JPF,PF)这个过程中子例行程 ...

非常谢谢你,我刚接触fortran没多久,书上的程序用的版本比较老,再继续时一定注重规范
吉大渣渣-固体 发表于 2018-5-17 23:04:55
chaunceyyou 发表于 2018-5-17 22:16
2
EXAMPLE----(5-2)
5,7,7,2,3,0

坏在您的主程序中CALL PUTIN(NJ,N,NE,NM,NPJ,NPF,JN,X,Y,JE,JEAI,EAI,JPJ,PJ,JPF,PF)这个过程中子例行程序PUTIN中I,I1,IE,IP,J,KK这些变量都没有初始化,以Intel visual Fortran编译器为例,这些变量不初始化直接拿来算编译器默认给的值是-858993460.有这些不确定性的隐患存在,导致后面EAI的值不稳定是正常的。

衷心给您的敬告:
1.尽管您的程序以Release模式可以得过且过运行出结果并正常退出,但是不初始化就拿来算这个隐患希望您心里有数。
2.不写implicit none,不重视初始化的程序都是在耍流氓。

评分

参与人数 1F 币 +5 贡献 +5 收起 理由
fcode + 5 + 5 赞一个!

查看全部评分

chaunceyyou 发表于 2018-5-17 22:16:31
吉大渣渣-固体 发表于 2018-5-17 21:54
请提供文件"PFSAP.IN".在没有此文件的情况下,直觉建议您:
1.主程序和子例行程序加上 implicit none;
2.详 ...

2
EXAMPLE----(5-2)
5,7,7,2,3,0
0,1,0,0.0,0.0,2,3,0,150.0,35.0
4,5,0,300.0,70.0,6,7,0,150.0,160.0
0,0,0,300.0,320.0
1,2,1,2,3,1,1,4,1,2,4,2,3,4,2
4,5,2,3,5,2
3.0E6,144.0,0.0
3.0E6,180.0,0.0
1,1610.0,3,3220.0,5,1610.0
0
吉大渣渣-固体 发表于 2018-5-17 21:54:39
请提供文件"PFSAP.IN".在没有此文件的情况下,直觉建议您:
1.主程序和子例行程序加上 implicit none;
2.详细检查所有变量、数组的声明和初始化

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

GMT+8, 2024-5-16 06:17

Powered by Tencent X3.4

© 2013-2024 Tencent

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