我正在學習正確使用子程序,函數和模塊,下面是一個簡單的例子,編譯時沒有發生錯誤,執行後,結果是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
怎麼啦?預期的結果是什麼?請閱讀[問]。 –