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