Qual o valor de y no final do programa?
int main()
{
int y, *p, x;
y = 0;
p = &y;
x = *p;
x = 5;
*p = *p + 1;
x--;
*p = *p + x;
printf ("y = %d\n", y);
return(0);
}
A - 0
B - 5
C - 6
D - 1
E - 4
Respostas
respondido por:
13
Resposta:
O resultado será 5 (opção B).
Explicação:
Perceba que a "p" é um ponteiro e que na linha "p = &y;" você atribui o endereço de "y" para "p". assim temos:
y = 0; /* y=0 x=indeterminado */
p = &y; /* y=0 x=indeterminado (p recebe o endereço de y) */
x = *p; /* y=0 x=0 */
x = 5; /* y=0 x=5 */
*p = *p + 1; /* y=1 x=5 */
x--; /* y=1 x=4 */
*p = *p + x; /* y=5 x=4 */
karolparaujo:
Muito Obrigada!
Perguntas similares
4 anos atrás
4 anos atrás
4 anos atrás
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás