mymodule中声明的变量在子程序中使用时会更新吗
时间: 2024-03-01 07:56:24 浏览: 28
在Fortran中,如果Module中声明的变量在子程序中被修改,那么这个变量的值会被更新,因为Module中的变量是全局变量,所有程序单元都可以访问和修改它们。
下面是一个示例程序,其中包含一个Module和一个主程序,主程序中使用了`USE MyModule`引用Module,并调用了一个名为`MySubroutine`的子程序,在子程序中修改了Module中声明的变量`MyVariable`:
```fortran
MODULE MyModule
INTEGER :: MyVariable
END MODULE MyModule
PROGRAM MainProgram
USE MyModule
IMPLICIT NONE
MyVariable = 10
WRITE(*,*) "The value of MyVariable is ", MyVariable
CALL MySubroutine
WRITE(*,*) "The updated value of MyVariable is ", MyVariable
END PROGRAM MainProgram
SUBROUTINE MySubroutine
USE MyModule
IMPLICIT NONE
MyVariable = 20
END SUBROUTINE MySubroutine
```
在上面的示例程序中,主程序中声明了一个名为`MyVariable`的变量,并初始化为10。然后调用了一个名为`MySubroutine`的子程序,在子程序中将`MyVariable`的值修改为20。最后输出了`MyVariable`的值,可以看到在子程序中修改了`MyVariable`的值后,其值被更新了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)