Buscar

LP BrunoKimura lista 7

Prévia do material em texto

Lista de Exercícios 7 (Ponteiros)
LP – Lógica de Programação, 2015
Prof. Bruno Kimura
1. Considere o programa abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
int main(void){
 int p[] = {1,2,3,4,5,6,7,8,9,10}, i, *px, *pp;
 pp = p;
 px = pp+7;
 while (px++ < pp+10)
 *(px-1) = *(px-2)+1;
 px = p; i = 0;
 while (px+i < p+10)
 printf("%i, ", *(px+i++));
 printf("\n");
 
 for (px=p; px<&p[9]; px++){
 printf("%i, ", *px);
 }
 printf("\n");
 
 px = pp;
 while(px < pp+10)
 printf("%i, ",*px++);
 return 0;
}
Explique:
a) O que acontece nesse código.
b) Se pp=p, seria possível (semanticamente correto) o trecho de código abaixo? Por que?
 for (i=0; i<10; i++)
 printf("%d, ", pp[i]);
2. Assumindo que queremos ler o valor inteiro de um x e o endereço de x foi atribuído a um ponteiro px, a instrução
seguinte é correta? Por quê?
scanf("%d", *px);
3. Considere as declarações:
int x=10, *px=&x, **ppx=&px;
float y=5.9, *py=&y, **ppy=&py;
Qual é o valor (conteúdo) das variáveis:
X y px py ppx ppy
FFA0 FFB4 FFF0 FFC6 FFA6 FFD4

Continue navegando