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?