
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里面的参数)要变量类型一致,而且实参数目不少于虚参(这个很重要)。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)