rekurencja pytanie
Ostatnio zmodyfikowano 2011-03-31 11:31
markon Temat założony przez niniejszego użytkownika |
rekurencja pytanie » 2011-03-30 22:16:57 witam, jeśli przykładowo będziemy mieli taką rekurencję że: funkcja() { //tutaj jakiś warunek który zakończy wywołania rekurencyjne funkcja() ; //(1) funkcja(); //(2)
} ale w jaki sposób zostanie wywołana funkcja (2), przecież, zawsze jako pierwsza będzie wywoływana (1) <funkcje te będą się różnic przyjmowanymi argumentami> i tak będzie wywoływana az do spełnienia warunku, natomiast druga nigdy nie zostanie wywołana, więc jaki sens ma taki zapis? |
|
DejaVu |
» 2011-03-30 22:44:49 Najpierw wywołają się funkcje pierwsze wymienione a potem jak zaczną się cofać, tj. zamknie się jedna, powróci do poprzedniej w miejscu zakończenia i wywoła kolejną funkcję rekurencyjną. |
|
markon Temat założony przez niniejszego użytkownika |
» 2011-03-31 08:31:04 zatem pierwsza będzie się wywoływać do jakiego momentu ? (do spełnienia warunku ?), a potem wróci do miejsca wywołania, i przejdzie do następnej linijki. Dalej czegos nie rozumiem, nawet jeśli ta druga zostanie wywołana, zatem zostanie wykonane ciało funkcji, a w tym ciele najpierw jest funkcja (1) znów będzie seria jej wywołań? |
|
DejaVu |
» 2011-03-31 11:31:44 Napisz sobie funkcję rekurencyjną, która wypisuje printfy przed wejściem w kolejną rekurencję i po wyjściu z rekurencji. |
|
« 1 » |