fortran模板中的子程序可不可以互用

fortran模板中的子程序可不可以互用,第1张

是可以的,我写了如下程序 可以执行

program main

integer::n

common/datas/n

call a

end

subroutine a

integer::n

common/datas/n

n=n+1

call b

if(n>100)return

endsubroutine

subroutine b

integer::n

common/亩笑禅datas/n

n=n+1

call a

if(n>100)return

endsubroutine

但是一般来说,升仿不建议子程序互相调用,就像是递归函数一样,互相调用导致程序结构不明朗,容易形成死循迅尘环,而且复杂点的程序的话这样调用检查起来很困难

把你写的function放在另一个.f文件里面,或者放在主程序语句外面(即子困凯程序枣缓形式)再来调用。主程序可调用function 和subroutine,所以,不用把凳尺模子程序function写在主程序里。如此则subroutine和主程序都可以随意调用function,注意调用时的实参(subroutine里面的参数)和虚参(function里面的参数)要变量类型一致,而且实参数目不少于虚参(这个很重要)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12328377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存