¿Por qué hay un atributo SAVE implícito en Fortran? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Asignación de Fortran en la declaración y el atributo SAVE gotcha 2 respuestasSi inicializo una variable en una declaración de declaración de Fortran, esa variable recibe implícitamente un atributo SAVE y la expresión de inicialización solo se ejecutará una vez.
Por ejemplo, el siguiente programa.
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
imprimirá
1
2
Como esto es diferente en muchos otros idiomas, me preguntaba por qué el comité estándar de Fortran eligió este comportamiento.
¡Muchas gracias! Micro