А внутри нас ожидает сюрприз... |
Что же выведется на экран, если 3 раза вызвать функцию, объявив внутри самой функции статическую функцию с таким же названием, что и передаваемый параметр?
Все очень просто, мы передаем переменную внутрь функции, дальше она уничтожается и создается статическая переменная. При первом вызове статическая переменная пустая, поэтому мы ничего не выводим. После чего увеличиваем статическую переменную на единицу. При следующем вызове выведется 1 и снова увеличиваем статическую переменную на единицу. И в последний раз все повторяется. Поэтому и получаем в итоге 1 и 2 на выводе. |