Fortran Coder

查看: 10895|回复: 2
打印 上一主题 下一主题

[子程序] 子程序传递数组

[复制链接]

8

帖子

3

主题

0

精华

入门

F 币
41 元
贡献
25 点
跳转到指定楼层
楼主
发表于 2021-3-12 22:45:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助大神,新手一枚,实在没有办法,在看以前的老代码,跪求帮助。问题:
dimension p(20000)
call trap (p(n),p(m))
subroutine trap (p1,p2)
这里的p(n),p(m) 是不是取数组中的前n和m个数据的数组,如果子程序中的p1,p2改变那主程序中p(20000)的前n和m数据会变化吗?
非常感谢!


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

213

帖子

2

主题

0

精华

宗师

F 币
2126 元
贡献
875 点

规矩勋章

沙发
发表于 2021-3-13 00:25:41 | 只看该作者
理解正确。如果在subroutine trap中改变了p1和p2数组,那么主程序中p(n),p(m)都有变化。问题在于p(n)和p(m)都是p的一部份,从subroutine trap回到主程序时数组p的变化不一定是你希望的。建议用一个新的数组变量代替p(n)或p(m)中的一个。

8

帖子

3

主题

0

精华

入门

F 币
41 元
贡献
25 点
板凳
 楼主| 发表于 2021-3-13 09:57:01 | 只看该作者
风平老涡 发表于 2021-3-13 00:25
理解正确。如果在subroutine trap中改变了p1和p2数组,那么主程序中p(n),p(m)都有变化。问题在于p(n)和p(m ...

谢谢大神帮助
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-15 01:19

Powered by Tencent X3.4

© 2013-2024 Tencent

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