program main
  implicit none
  integer :: a = 2, b = 3
  call add_print(a, b)
contains
  subroutine add_print(a, b, c)
    integer, intent(in) :: a, b
    integer, intent(in), optional :: c
    print *, a + b + c ! 省略された引数 c を参照している！
  end subroutine
end program
