根据Fortran标准:
非指针伪参数的INTENT(OUT)属性指定在调用过程时伪参数变为未定义
然而,这个简单的代码将我5作为输出,所以看起来参数在程序开始时没有变得不确定(在这种情况下是一个子程序).
subroutine useless(a)
integer, intent(out) :: a
print *,a
end subroutine useless
program test
integer :: n=5
call useless(n)
end program test
Run Code Online (Sandbox Code Playgroud)
我错了什么?看起来intent(inout)和intent(out)都是一样的.
fortran ×1