Crie uma função que receba como parâmetro um array e o imprima. Não utilize índices para percorrer o array, apenas aritmética de ponteiros.
Passo 1
Em C, um array passado como parâmetro decai para um ponteiro, por isso precisamos também receber o tamanho do array para saber onde parar.
Passo 2
Declaramos um ponteiro que aponta para o início do array e outro que aponta para o fim, usando aritmética de ponteiros: o fim é arr + n.
Passo 3
Usamos um laço while que compara o ponteiro atual com o do fim; enquanto for menor, desreferenciamos o ponteiro para imprimir o valor e então incrementamos o ponteiro.
Passo 4
Depois de percorrer todos os elementos, imprimimos uma quebra de linha para deixar a saída organizada.
Resposta
#include <stdio.h>
void imprimir(int *arr, int n) {
int *p = arr;
int *end = arr + n;
while (p < end) {
printf("%d “, *p);
p++;
}
printf(”\n");
}
int *p = arr;
int *end = arr + n;
while (p < end) {
printf("%d “, *p);
p++;
}
printf(”\n");
}