fortran 定义全局变量
怎样在fortran中利用module建立全局变量呢?如果是在module中建立的全局变量,可以通过read命令来赋值吗?第一个问题麻烦回答详细一些,这个不大了解.......
怎样在fortran中利用module建立全局变量呢?
如果是在module中建立的全局变量,可以通过read命令来赋值吗?
第一个问题麻烦回答详细一些,这个不大了解....谢谢 展开
如果是在module中建立的全局变量,可以通过read命令来赋值吗?
第一个问题麻烦回答详细一些,这个不大了解....谢谢 展开
2个回答
展开全部
module主要有以下作用:
1)module 可以声明变量,经常用来声明程序中所需要的常量、或是用来存放全局变量
2)module里面可以定义自定义类型,在经过use的命令可以让程序中的每一个函数都能使用这个类型
3)module里面可以编写函数,同样使用use命令。
至于你提出的问题,可以用以下程序来解释:
module global
implicit none
integer a,b
common a,b
! read (*,*) a,b
end module
program ex0834
use global
implicit none
read (*,*) a,b
write(*,*) a,b
end program
在module里声明了全局变量a,b.在program里就可以省去定义a,b的部分,就可以直接使用a,b.
第二个问题,当把module里的注释符“!”去除, 把program里的read(*,*) a,b 注释掉就能发现程序错误,所以我认为在module里,不能通过read赋值。
1)module 可以声明变量,经常用来声明程序中所需要的常量、或是用来存放全局变量
2)module里面可以定义自定义类型,在经过use的命令可以让程序中的每一个函数都能使用这个类型
3)module里面可以编写函数,同样使用use命令。
至于你提出的问题,可以用以下程序来解释:
module global
implicit none
integer a,b
common a,b
! read (*,*) a,b
end module
program ex0834
use global
implicit none
read (*,*) a,b
write(*,*) a,b
end program
在module里声明了全局变量a,b.在program里就可以省去定义a,b的部分,就可以直接使用a,b.
第二个问题,当把module里的注释符“!”去除, 把program里的read(*,*) a,b 注释掉就能发现程序错误,所以我认为在module里,不能通过read赋值。
参考资料: fortran95程序设计,彭国伦版 P205和P315
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询