h2457528767的个人博客分享 http://blog.sciencenet.cn/u/h2457528767

博文

怎么在子程序1中调用主程序中定义的变量m?

已有 3022 次阅读 2019-5-22 16:45 |个人分类:软件学习|系统分类:科研笔记| Fortran

如果变量是一维的,即一个数,那么不用定义其维度为“A(1)”,直接定义为双精度变量Double Precision A,即可在之后的运算中调用,否则需要在之后的调用中输入“A(1)”而不是“A”。

For example:

program main

implicit none

    dimension x(1),y(1),z(1),M(1),Omega(1),gm(1)

    double precision x,y,z,M,L,Omega,gm

    x=1

    y=2

    Omega=1

    call equation2(x,y,z,M,Omega,gm)

    open(file='result.dat',unit=1)

    write(1,'(1X, 4E20.10)') z,M,gm,0.5374E-98

    close(1)

end program main


subroutine equation1(Omega,gm)

    implicit none

    dimension Omega(1),gm(1)

    double precision Omega,gm

    gm=Omega*80

    return

end subroutine equation1


subroutine equation2(x,y,z,M,Omega,gm)

    implicit none

    dimension x(1),y(1),z(1),M(1),Omega(1),gm(1)

    double precision x,y,z,M,Omega,gm

    call equation1(Omega,gm)

    z=x+y+gm

    return

end subroutine equation2




https://blog.sciencenet.cn/blog-3398164-1180525.html

上一篇:Acrobat打开PDF文件不清楚怎么办?
下一篇:Office部署安装方法
收藏 IP: 202.111.182.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 22:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部