我正在学习正确使用子程序,函数和模块,下面是一个简单的例子,编译时没有发生错误,执行后,结果是4.57187637E-41
而不是pi
,我查了几个引用,还没有发现错误。Fortran中包含子程序和函数的模块
module wz
implicit none
private
public :: print_out
real,parameter :: pi = 3.14159
contains
subroutine print_out
implicit none
real :: area
print *, area
end subroutine print_out
function f(x) result(area)
implicit none
real, intent(in):: x
real :: area
area = pi * x ** 2
end function f
end module wz
program test_module
use wz
implicit none
real :: x
x = 1.
call print_out
end program test_module
怎么啦?预期的结果是什么?请阅读[问]。 –