fortran中的use和call的区别
时间: 2023-04-04 16:02:41 浏览: 891
在Fortran中,use和call是两个不同的关键字,它们的作用也不同。use用于在程序中引用一个模块,而call用于调用一个子程序。具体来说,use语句用于将一个模块中的变量、常量、类型、子程序等引入到当前程序中,以便在程序中使用。而call语句用于调用一个子程序,将控制权转移到被调用的子程序中执行,执行完毕后再返回到调用程序中继续执行。
相关问题
Fortran 77 call
In Fortran 77, you can call a subroutine or function by using the CALL statement followed by the subroutine or function name and any arguments in parentheses.
For example, consider the following subroutine:
```
SUBROUTINE MY_SUB(A, B, C)
INTEGER A, B, C
C = A + B
RETURN
END
```
To call this subroutine from within your main program, you would use the following code:
```
INTEGER A, B, C
A = 1
B = 2
CALL MY_SUB(A, B, C)
```
After the CALL statement, you pass the variables A and B as arguments to the subroutine MY_SUB. The subroutine adds A and B together and returns the result in the variable C. In this example, C will be set to 3.
fortran中的module怎么用
Fortran中的module(模块)是一种用于组织程序代码的结构化方式。通过将相关的函数、子程序、变量等放在同一个module中,可以方便地在程序的其他位置调用和使用它们。使用module可以提高代码的可维护性和可读性。
下面是一个简单的module示例:
```
module my_module
implicit none
integer :: my_variable = 0
contains
subroutine my_subroutine()
print *, "Hello from my_subroutine!"
end subroutine my_subroutine
end module my_module
```
在这个例子中,我们定义了一个名为my_module的module,它包含了一个整型变量my_variable和一个子程序my_subroutine。在程序的其他位置,可以通过使用use语句来调用这个module中的变量和子程序。例如:
```
program main_program
use my_module
implicit none
my_variable = 10
call my_subroutine()
print *, "my_variable = ", my_variable
end program main_program
```
在这个例子中,我们使用use语句来调用my_module中的变量和子程序。在程序中,我们将my_variable的值设置为10,并调用my_subroutine子程序输出一条消息。最后,我们输出my_variable的值,以确认它已经被正确设置。
需要注意的是,module中的变量和子程序默认是私有的,即只能在module内部访问。如果要在module外部访问它们,需要在module中使用public语句进行声明。例如:
```
module my_module
implicit none
integer, public :: my_variable = 0
contains
subroutine my_subroutine()
print *, "Hello from my_subroutine!"
end subroutine my_subroutine
end module my_module
```
在这个例子中,我们使用public语句将my_variable声明为公共的,即可以在module外部访问它。
阅读全文