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

博文

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

已有 384 次阅读 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




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

上一篇:Acrobat打开PDF文件不清楚怎么办?
下一篇:四能级双Lambda型系统的线性极化率

0

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

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-6-16 21:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部