Crie um programa que contenha um array de inteiros contendo 5 elementos. Utilizando apenas aritmética de ponteiros, leia esse array do teclado e imprima o dobro de cada valor lido.

Passo 1

O enunciado pede um programa em C que crie um array de 5 inteiros e use apenas aritmética de ponteiros para ler do teclado e imprimir o dobro de cada valor. O conteúdo envolvido é manipulação de arrays via ponteiros e uso de laços de repetição.

Passo 2

Declarar o array e um ponteiro para percorrê-lo. O array armazena 5 inteiros e o ponteiro int *p aponta para o início do array.

Passo 3

Fazer um laço de 5 iterações onde, em cada iteração, usamos scanf com o ponteiro p para ler um valor e depois incrementamos p para avançar ao próximo elemento.

Passo 4

Resetar o ponteiro p para o início do array. Fazer outro laço de 5 iterações onde, em cada iteração, imprimimos o dobro de *p (o conteúdo apontado) e incrementamos p para o próximo elemento.

Resposta

#include <stdio.h>
int main() {
int arr[5];
int *p = arr;
// Leitura dos 5 valores usando aritmética de ponteiros
for (int i = 0; i < 5; i++) {
    scanf("%d", p);
    p++;  // avança para o próximo elemento
}

// Volta o ponteiro para o início do array
p = arr;

// Impressão do dobro de cada valor
for (int i = 0; i < 5; i++) {
    printf("%d\n", (*p) * 2);
    p++;  // avança para o próximo elemento
}

return 0;
}

Exercícios relacionados