Estou com a mesma dúvida de outro aluno colocada aqui no fórum, e que não foi respondida. A solução proposta é essa:
void soma(int* num, int a, int b) {
*num = a + b;
}
No entanto, segundo eu entendi da explicação do professor combinada com a proposição do exercício, o correto seria colocarmos parênteses ao redor de *num
, já que a soma a + b
deve modificar o conteúdo da variável num
, e não o seu endereço na memória. A resposta correta, então, ficaria assim:
void soma(int* num, int a, int b) {
(*num) = a + b;
}
Afinal, qual é a solução correta, e por quê? Ou as duas formas estão corretas?