Às vezes me confundo como passar uma variável como parâmetro de uma função, e alterar os dados que ela carrega. Acredito que muito estudante também já se enrolou com isso. É relativamente fácil o entendimento, e exige um pouco de conhecimento em ponteiro.
Veja o trecho de código a seguir, e note que o valor de x depois de ser passado como parâmetro para a função reduzir_valor, não se altera: