【问题标题】:How to call and use a subroutine inside another subroutine in fortran?如何在fortran的另一个子程序中调用和使用一个子程序?
【发布时间】:2014-01-13 09:36:15
【问题描述】:

我正在做一个程序,其中 main 包含许多子例程和函数。为了构建主程序的这些子程序之一(比如说子程序 A),我需要使用另一个子程序(比如说 B)。我的问题是,我怎样才能调用子程序 A 并使用子程序 B?我是一个初学者,我搜索了很多,但没有找到我清楚明白的......

任何帮助将不胜感激,在此先感谢!

【问题讨论】:

    标签: fortran subroutine


    【解决方案1】:

    布局示例,在一个文件中:

    module MySubs
    
    contains
    
    subroutine A (..)
    
    end subroutine A
    
    subroutine B (..)
    
       call subroutine A (..)
    
    end subroutine B
    
    function C (..)
    
    end function C
    
    end module MySubs
    
    program MyProg
    
      use MySubs
    
      call A (..)
    
      X = C (..)
    
    end program MyProg
    

    您还可以将模块和主程序放在不同的文件中。在这种情况下,首先使用模块编译文件。

    【讨论】:

      【解决方案2】:

      通常您将所有过程放在module 中,然后放在use 模块中。

      如果按照您的问题建议将所有过程都作为主程序的内部程序,那么调用它们就没有问题。只需使用call 语句正常调用它们,或者使用带有参数列表的函数名即可。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多