Buscar

Exercícios de Ponteiros (Resolvido)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Exercícios de Ponteiros (Respostas) 
Aluna: Kelly do Socorro Silva da Costa - 201604940040 
 
1. Quais das seguintes instruções são corretas para declarar um ponteiro? 
 
int *ptr; 
 
2. Qual é a maneira correta de referenciar ch, assumindo que o endereço de ch foi 
atribuído ao ponteiro indica? 
 
*indica; 
 
3. Na expressão float *pont; o que é do tipo float? 
 
A variável apontada por pont. 
 
4. Assumindo que o endereço de num foi atribuído a um ponteiro pnum, quais das 
seguintes expressões são verdadeiras? 
 
 pnum == &num 
 
5. Assumindo que queremos ler o valor de x, e o endereço de x foi atribuído a px, a 
instrução seguinte é correta? Por que? 
 
 scanf ( “%d”, *px ); 
 
Sim, pois *px vai ler o que está dentro do endereço de x, logo, o valor de x. Para imprimir 
o endereço de x seria necessário escrever scanf(“%d”, px). 
 
6. Qual é a instrução que deve ser adicionada ao programa seguinte para que ele 
trabalhe corretamente? 
 
 main ( ) { 
 int j, *pj; 
 *pj = 3; 
 } 
 
main(){ 
 int j = 3, *pj; 
 pj = &j; 
} 
 
7. Assumindo que o endereço da variável x foi atribuído a um ponteiro px, escreva 
uma expressão que não usa x e divida x por 5. 
 
*px = *px/5; 
 
 
 
 
8. Qual o valor das seguintes expressões: 
 
 int i = 3, j = 5; 
 int *p = &i, *q = &j; 
 
p == &i 
 
9. Qual será a saída deste programa? 
 
 main ( ) { 
 int i = 5, *p = &i; 
 printf ( “%u %d %d %d %d \n”, p, *p+2, **&p, 3**p, **&p+4); 
 } 
 
A saída para p será o endereço de i. 
A saída para *p+2, vai ser a soma do valor de i com 2, logo, 7. 
A saída para **&p será um ponteiro de um ponteiro que aponta para i, logo, 5. 
A saída de 3**p será a multiplicação do valor contido em i por 3, logo, 15. 
A saída de **&p+4 será um ponteiro de um ponteiro que soma o valor contido em i com 4, 
logo, o resultado será 9. 
 
Desta forma, a saída final será: 
 
 Endereço_de_i 7 5 15 9

Continue navegando