Ed
há 2 anos
Para resolver essa questão, vamos fazer um teste de mesa do código apresentado. 1. O programa começa com a variável `num` inicializada com o valor 100. 2. A função `func` é chamada com `&num` (endereço de `num`) e 50 como argumentos. Dentro da função `func`: - A linha 4 (`*x += y;`) incrementa o valor apontado por `x` (que é `num`) em `y` (50). Portanto, `num` passa a ser 100 + 50 = 150. - A linha 5 (`x = x + 3;`) apenas altera o ponteiro `x` localmente, não afetando o valor de `num` fora da função, pois `x` é uma cópia do ponteiro passado. Após a execução da função, o valor de `num` continua sendo 150. Por fim, a linha 12 imprime o valor de `num`, que é 150. Portanto, a alternativa correta é: A) 150.