title: Modules containing subroutines and functions in fortran
body: <p>I am learning correct use of subroutine, function and module, below is an simple example, no error occurs while compiling, after executing, the outcome is <code>4.57187637E-41</code> rather than  <code>pi</code>, I have looked up several references, haven't found out the mistake yet.</p>
  
  <pre><code>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
  </code></pre>