Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
106 views
in Technique[技术] by (71.8m points)

Fortran initialization


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

There is an important difference!

The following code implicitly sets the save attribute for variable y. This implies that it will only be set to 0 in the first call to the function and it retains its value from the previous call for the next call.

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

In comparison the other code sets y to 0 in each call.

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...