Почему в Фортране подразумевается атрибут SAVE? [Дубликат]
На этот вопрос уже есть ответ здесь:
Назначение Fortran при объявлении и сохранении атрибута gotcha 2 ответаЕсли я инициализирую переменную в операторе объявления Фортрана, эта переменная неявно получает атрибут 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
Поскольку во многих других языках это отличается, мне было интересно, почему комитет по стандарту Фортрана выбрал такое поведение?
Большое спасибо! Майк