Resultado da promoção conferência ESC Brazil 2013

- por Sergio Prado

Categorias: Promoção Tags:

Recebi 25 respostas para a promoção da conferência ESC Brazil 2013, com 16 respostas corretas e 9 erradas.

A resposta correta era a opção g)Como tivemos 16 acertadores, foi realizado um sorteio no site http://www.random.org/lists/ e o ganhador foi o Luís Filipe!

ganhadores-escbrazil2013

Para aqueles que não entenderam a resposta, vamos analisar a pergunta.

Qual das opções abaixo irá escr­ever o valor 0xA95E na posição de memória física 0x8E5D?

a) * (const uint16_t *) (0x8E5D) = 0xA95E;
b) uint16_t *p = (uint16_t *) 0x8E5D; p = 0xA95E;
c) * (uint16_t * const) (0xA95E) = 0x8E5D;
d) uint16_t *p = (uint16_t *) 0xA95E; p = 0x8E5D;
e) * (uint16_t const *) (0x8E5D) = 0xA95E;
f) uint16_t *p = (uint16_t * const) 0xA95E; p = 0x8E5D;
g) * (uint16_t * const) (0x8E5D) = 0xA95E;
h) uint16_t *p = (const uint16_t *) 0x8E5D; p = 0xA95E;
i) * (uint16_t const *) (0xA95E) = 0x8E5D;
j) Todas as opções acima.
k) Nenhuma das opções acima.

A melhor forma de responder esta pergunta é por eliminação.

Como o objetivo é atribuir 0xA95E à posição de memória 0x8E5D, as opções c), d), f) e i) são eliminadas, já que elas estão tentando fazer o contrário, independentemente de outros erros que podem existir nestas opções. Consequentemente, a opção j) também é eliminada.

As opções b) e h) também devem ser eliminadas, já que elas não estão dereferenciando o ponteiro p, independente de problemas na declaração do ponteiro.

As declarações a) e e) são idênticas (“const uint16_t” e “uint16_t const” tem o mesmo efeito). E elas estão erradas, porque estão atribuindo um valor à um tipo de dado const.

Restam então as opções g) e k).

A opção k) pode ser eliminada já que a opção g) atribui corretamente o valor 0xA95E à posição de memória 0x8E5D.

Obrigado à todos pela participação!

Um abraço,

Sergio Prado

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.