Pages

Questão EPO - Alocação Dinâmica

Considere os seguintes ambientes:

Ambiente 1:Ambiente 2:

Escolha a alternativa incorreta:

a) O uso do ponteiro para a alocação dinâmica é obrigatório, pois definirá um endereço inicial para memória alocada dinamicamente.
b) Ambos os ambientes geram a mesma impressão.
c) A alternativa anterior seria incorreta se, no Ambiente 2, retirássemos a linha que contém a seguinte instrução:  "pont++";
d) No ambiente 2, se adicionássemos acima da expressão "getch();" a seguinte linha: "printf("%d", *pont);" e executássemos o algoritmo, seria impressa a seguinte sequência: "1233".
e) NDA.

3 comentários:

Thiago disse...

- Thiago Moreno -

A resposta incorreta é d).

Para explicar,

Fora alocado um valor de x=3, portanto, o ponteiro reservará 3 endereços de memória sequenciais: Posição 0, Posição 1 e Posição 2. Por defeito, como observado no segundo laço “for” do Ambiente 2, o ponteiro é incrementado 3 vezes fazendo com que o ponteiro aponte automaticamente para a Posição 3 no último ciclo.

Como a posição 3 não foi alocada na memória e o ponteiro "*pont" não foi decrementado, a impressão de “*pont” mostrará a sequência “123” + “Valores aleatórios de endereços” gerando valores não determináveis depois da sequência "123".

Unknown disse...

Temos um conflito nessa questão!!!!Pois vc pede para assinalar a questão errada.Note Letra B=> Vc afirma "Ambos os ambientes geram a mesma impressão.".Na letra C vc diz o contrario=>" A alternativa anterior seria incorreta se, no Ambiente 2, retirássemos a linha que contém a seguinte instrução: "pont++";"Se vc pede para assinalar a questão errada isso quer dizer que a tirando a Letra D todas as alternativas estariam certas, mais isso não acontece!

Thiago disse...

Heey então, vamos ao raciocínio:

Deve-se escolher a alternativa incorreta, como pedido na questão.

A alternativa B) está correta. A alternativa C) está correta.

"Se" retirássemos a linha que contém 'pont++', a alternativa B) estaria incorreta pois o ambiente 1 geraria a impressão '123' e o ambiente 2 geraria a impressão '111', logo, a alternativa C) também é correta.

Resumindo, a unica alternativa incorreta é D).

Até mais.

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint