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");
}

Exercícios relacionados