Fortran初始化

Fortran初始化,fortran,Fortran,声明初始化和简单初始化之间有区别吗? 比如说 recursive function foo(x) result (f) real :: x, y = 0 real :: f ... end function !versus recursive function foo(x) result (f) real :: x, y real :: f

声明初始化和简单初始化之间有区别吗? 比如说

recursive function foo(x) result (f)
                   real :: x, y = 0
                   real :: f    
                   ...
end function
!versus
recursive function foo(x) result (f)
        real :: x, y 
        real :: f 
        y = 0 
        ...          
end function   

这是一个重要的区别

以下代码隐式设置变量
y
save
属性。 这意味着它只会在函数的第一次调用中设置为0,并在下一次调用中保留上一次调用的值

recursive function foo(x) result (f)
                   real :: x, y = 0
                   real :: f    
                   ...
end function
相比之下,其他代码在每次调用中将
y
设置为0


我以为是那样的!谢谢你在comp.lang.fortran上问了同样的问题。看到答案了吗。
recursive function foo(x) result (f)
        real :: x, y 
        real :: f 
        y = 0 
        ...          
end function