如果我在 Fortran 声明语句中初始化一个变量,该变量会隐式接收一个 SAVE 属性,并且初始化表达式只会执行一次。
例如下面的程序
program test
implicit none
call foo()
call foo()
contains
subroutine foo ()
integer :: i = 0
i = i + 1
write(*,*) i
end subroutine foo
end program test
将打印
1
2
由于这在许多其他语言中都不同,我想知道为什么 Fortran 标准委员会选择了这种行为?
非常感谢!麦克风