Я работаю на довольно простое отслеживание упражнения, однако я не совсем понимая, почему решение, что это такое ...простой рекурсия трассировка понимание стеки
void f(int n) {
if (n>0) {
f(n-1)
cout << n << " ";
}
}
int main() {
f(5);
return 0;
}
ответ 1 2 3 4 5 , однако мне интересно, как это происходит, поскольку каждый раз, когда функция f называется, она никогда не попадает в строку cout ... Я понимаю, что существует система стекирования, в которой просматривается последняя функция, однако до факториала где он возвращал значение для умножения на предыдущее n, я не понимаю, как это похоже. Пожалуйста, не используйте факториал снова, я это понимаю, но я не понимаю, как здесь реализуется cout. Спасибо за вашу помощь.
Этот код не скомпилирован. – chris
Ответ - это буквально карандаш/ручка и лист бумаги. Не должно быть сложной задачу с шестиуровневым стеклом вызовов. – WhozCraig