• Matéria: Informática
  • Autor: karolparaujo
  • Perguntado 5 anos atrás

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: akiamare
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