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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software