Wpis z mikrobloga

@Szarlejowiec: @Maav: to jest pytanie testowe, nalezy podac wynik proramu

Bo n w funkcji f(n) nie jest równe n w funkcji f(n) przy jej drugim wywołaniu. Program wraca sie do wcześniej


wykonywanej funkcji f(n) i dokancza pętlę.

@Maav: dlaczego nie sa rowne, dlaczego nie wywoluje w takim raze jeszcze raz funkcji z wartoscia np. 2 tylko z 3 i 4?
  • Odpowiedz
@erwit: zakres ważności zmiennych, polecam lekturkę :P

tl;dr każde wywołanie funkcji tworzy nową kopię zmiennej n, o nowej wartości (zgodną z wywołaniem), która zakrywa poprzednią wartość, dopóki funkcja nie zakończy działania.
  • Odpowiedz
@erwit: Bo pomyśl sobie, że to są całkowicie inne zmienne. To jest tak, że zmienna n w funkcji f(2) nie jest zmienną n w funkcji f(3), więc jeżeli w funkcji f(3) zrobimy n++, to n w funkcji f(2) pozostaje niezmienne.
  • Odpowiedz