A maior rede de estudos do Brasil

Não estou entendendo esse exercicio.

1-    Seja o seguinte trecho de programa:

int i=3,j=5; int *p, *q; p = &i; q = &j;

 

Qual é o valor das seguintes expressões?

a) p == &i; 

b) *p - *q             

c) **&p         

d) 3* - *p/(*q)+7


Programação I

EE Reynaldo Massi


5 resposta(s)

User badge image

Nah SS

Há mais de um mês

A questão parece discursiva
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
Tradução:
Inteiro i recebe 3;
Inteiro j recebe 5;
Ponteiro p do tipo inteiro;
Ponteiro q do tipo inteiro;
p recebe o endereço de i;
q recebe o endereço de j;

Pelo o que eu entendi:
Sabendo disso, você monta um código para cada operação de acordo com as informações acima e vê qual o valor de cada uma delas..
a) p == &i;

//p é igual a endereço de i
#include
#include
int main()
{
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
p == &i;
printf("%d", p);
return 0;
}
p == &i; = 2686740 // valor muda de acordo com cada endereço, ou seja, em cada máquina o resultado será diferente .

b) *p - *q
//Ponteiro p menos ponteiro q

#include
#include
int main()
{
int i=3,j=5;
int *p, *q, b;
p = &i;
q = &j;
b =*p ­ *q;
printf("%d\n", b);
return 0; }
*p ­ *q = ­2

c) **&p
//Um ponteiro que aponta para um ponteiro que apontará o endereço de p;

include
#include
int main()
{
int i=3,j=5, c;
int *p, *q;
p = &i;
q = &j;
c = **&p;
printf("%d\n", c);
return 0; }
**&p = 3

d) 3* - *p/(*q)+7
//três vezes menos ponteiro p dividido
por(ponteiro q)mais sete;

#include
#include
int main()
{
int i=3,j=5, d;
int *p, *q;
p = &i;
q = &j;
d = 3* ­ *p/(*q)+7;
printf("%d\n", d);
return 0;
}
3* ­ *p/(*q)+7 = 6

Espero ter ajudado!

Essa pergunta já foi respondida por um dos nossos estudantes