Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Parênteses ou não?

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?

1 resposta

Para esse caso as duas formas estão corretas mas dependendo da situação o parênteses pode fazer diferença.