Fortran Coder

查看: 46|回复: 3

[子程序] 如何接受传递过来的常量值

[复制链接]

2

帖子

2

主题

0

精华

新人

F 币
16 元
贡献
8 点
发表于 2019-11-28 12:55:51 | 显示全部楼层 |阅读模式
这是主程序
[Fortran] 纯文本查看 复制代码
program Console1
implicit  none
Integer,parameter::nm=100
call   start(nm)
end
!这是子例行程序
SUBROUTINE start(nm)
     implicit  real*8 ( a-h,o-z )
      integer*4       tv0001
common/area1/x0(nm)
    end

现在的问题是在子例行程序中怎么接受nm这个常量值,然后赋值给common中这个x0数组

回复

使用道具 举报

43

帖子

1

主题

0

精华

熟手

F 币
277 元
贡献
129 点

规矩勋章

发表于 2019-11-28 14:40:49 | 显示全部楼层
既然nm是常数,在子程序重新定义一下不就行了?如果很多地方都用也可以单独生成一个include文件共同引用

415

帖子

1

主题

0

精华

宗师

F 币
2170 元
贡献
1400 点
发表于 2019-11-28 15:57:28 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
SUBROUTINE start(nm)
     implicit  real*8 ( a-h,o-z )
      integer*4       nm

    common/area1/x0(nm)
x0=nm
    end

1450

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
911 元
贡献
649 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2019-11-29 09:28:45 | 显示全部楼层
都什么年代了,还用 common
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2019-12-14 05:50

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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