contains关键字用于定义在主程序中使用的子程序。它可以将子程序的代码与主程序的代码分开,使得代码更加清晰和易于维护。contains关键字可以在一个Fortran模块或一个主程序中使用。 3. contains关键字的语法 在Fortran中,使用contains关键字来定义子程序的语法如下: subroutine/subroutine_name(arguments) ! 子程序的代码...
fortran contains用法在Fortran中,CONTAINS关键字用于定义一个子程序(subprogram)或模块(module)内的内部过程(internal procedure)。它常常用于将子程序或模块内的私有过程封装在模块或子程序内,使得这些过程对于外部程序或模块是不可见的。 以下是CONTAINS的一些基本用法: 在子程序内定义内部过程: fortran Copy code ...
在Fortran中,当使用函数和contains时总是得到相同的结果的原因是因为在contains块中定义的函数会自动继承调用它的作用域中的变量。这意味着函数可以直接访问包含它的子程序或主程序中定义的变量,而不需要显式地传递参数。这种隐式传递参数的机制称为"静态作用域规则"。 具体来说,当在Fortran程序中定义一个...
8.7 内部过程(CONTAINS) 8.8 子模块 8.9 小结 8.9.1 遵循原则: 8.9.2 语法小结 8.1 给子例程和函数传递多维数组 8.1.1 显示结构的形参数组 在这种方式中,将数组和数组中每一维度的取值范围传递给子例程。范围值用于在子例程中声明数组的大小, 这时子例程知道数组的所有信息。 SUBROUTINE process1(data1,data2...
6.3.1 CONTAINS语句 CONTATINS:告诉编译器后面得语句被包含在过程中。 这些过程被作为模块的一部分进行编译,并且可以通过在程序单元中使用包含模块名的USE 语句使模 块过程在程序单元中有效,例如: !建立一个模块MODULEmy_subsIMPLICIT NONE!(在这里声明共享数据)CONTAINSSUBROUTINEsubl(a,b,c,x,error)IMPLICIT NONERE...
prigram main ... ...call p1()call p2()...contains subroutine p1()...end subroutine p1 subroutine p2()...end subroutine p2 end ! 子程序中的变量无需重新说明,变量值无需通过哑实结合传递。! 比较方便。
4 使用fortran的关键字containscontains是Fortran 90中新增的一个语法功能在module或者subroutine中可以用contains来包含其他的module或者subroutine 5 编写主程序测试子程序是否能够改变传入的参数 implicit none character(len=255)::str integer::n str="168" n=3 print *, "***" print *, "子程序运...
Fortran 模块用法注意 1 MODULE基本用法 图 1 MODULE是关键字,模块定义以MODULE语句开始,END MODULE语句结束。第一部分:类型说明部分。可以是类型说明语句、派生类型定义及接口块等,但不能有执行语句、语句函数、ENTRY语句或FORMA T语句。第二部分:以CONTAINS语句开始,执行模块的内部过程,这部分是可选的。当...
无论是INTERFACE还是CONTAINS,子程序部分和主程序部分在定义和初始化变量方面都没有任何差异。运行结果也是...
contains subroutinesandfunctionsendmodulem2 program test!主程序 usemodulem1,m2,...!给出数据格式...contains internal subroutinesandfunctionsendprogram test 这样,在进行编译时,编译器会核查module与主程序之间参数的使用,是否一致。 实际使用时,最好将每个module都单独编译,再联合在一起。这样每个module可以多次重复...