Ed
anteontem
Vamos analisar cada uma das afirmações: I) O valor impresso por printf("Valor de a: %d\n", a); será 10, pois a foi inicializado com esse valor. Verdadeiro. A variável `a` foi inicializada com 10, então essa afirmação está correta. II) A operação *ptr (desreferenciação) permite acessar o valor armazenado no endereço de memória apontado por ptr, que é 10 nesse caso. Verdadeiro. A desreferenciação de `ptr` (`*ptr`) acessa o valor da variável `a`, que é 10. III) O valor impresso por printf("Endereço de a: %p\n", &a); será igual ao valor impresso por printf("Valor armazenado em ptr: %p\n", ptr);, pois ptr armazena o endereço de memória da variável a. Verdadeiro. `ptr` armazena o endereço de `a`, então ambos os valores impressos serão iguais. IV) Se uma nova linha de código a = 20; for adicionada logo após a declaração de ptr, o valor impresso por printf("Valor apontado por ptr: %d\n", *ptr); continuará sendo 10, pois ptr não foi atualizado. Verdadeiro. `ptr` ainda aponta para o endereço de `a`, mas como `a` foi alterado para 20, a afirmação está incorreta. O valor impresso por `*ptr` será 20, pois `ptr` ainda aponta para `a`. Agora, vamos ver quais afirmações são verdadeiras: - I: Verdadeira - II: Verdadeira - III: Verdadeira - IV: Falsa Portanto, as afirmações corretas são I, II e III. A alternativa que contém todas as afirmações verdadeiras é: C) I, II e III, apenas.