Pular para o conteúdo

pilha de chamadas

A fila de funções que estão esperando a de dentro terminar.

Cada fica parada esperando o resultado da chamada que ela fez. Elas empilham.

Em fatorial(3), o C guarda 3 vezes o resultado de fatorial(2), que guarda 2 vezes fatorial(1), e assim por diante. Só quando chega no é que as contas voltam, de dentro pra fora.

Entender essa volta é o que explica por que imprimeCrescente imprime em ordem crescente mesmo chamando com n - 1: o printf está DEPOIS da chamada, então ele só acontece na volta.

Veja também