Wpis z mikrobloga

@tatwarm: najpierw wykonuje się to co jest w if tzn, if(){tutaj} i masz ify zagnieżdżone w sobie tak, że if(){if(){ i tak dalej}} także nic nie drukuje dopóki warunek najbardziej wewnętrznego ifa zostanie nie spełniony
Wyjaśni mi ktoś dlaczego wynik tego programu jest w kolejności: 10,40,70,100?

@tatwarm: Dlatego, że to nie jest program współbieżny i reszta kodu się nie wykona dopóki nie wykona się część lokalna. To jest jak z nawiasami w matematyce. Jak dokładnie się to odbywa w tej kilkustopniowej hierarchii opisał ci @bubafed
@Leihto: Żeby zrozumieć rekurencję trzeba wiedzieć, że stos się rozwija i zwija.
Wywołujesz funkcję z argumentem 100, funkcja sprawdza jaki ma argument, okazuje się, że większy niż 10, w tym momencie nic nie drukujesz, tylko wywołujesz funkcję z argumentem 70, który jest większy niż 10, więc nic nie wyświetlasz ale wywołujesz nfR z argumentem 40, później to samo dla 10 i teraz okazuje się, że warunek przestaje być spełniony, więc drukujesz