Write a C program using pointers to read in an array of integers and print its elements in reverse order.


#include <stdio.h>
#include <conio.h>
#define MAX 30

void main() {
   int size, i, arr[MAX];
   int *ptr;
   clrscr();

   ptr = &arr[0];

   printf("\nEnter the size of array : ");
   scanf("%d", &size);

   printf("\nEnter %d integers into array: ", size);
   for (i = 0; i < size; i++) { scanf("%d", ptr); ptr++; } ptr = &arr[size - 1]; printf("\nElements of array in reverse order are :"); for (i = size - 1; i >= 0; i--) {
      printf("\nElement%d is %d : ", i, *ptr);
      ptr--;
   }

   getch();
}

Output :


Enter the size of array : 5
Enter 5 integers into array : 11 22 33 44 55
Elements of array in reverse order are :
Element 4 is : 55
Element 4 is : 44
Element 4 is : 33
Element 4 is : 22
Element 4 is : 11

Program to read integers into an array and reversing them using pointers

Explanation :

1. We have declared one pointer variable and one array.


int size,i,arr[MAX];
int *ptr;

2. Address of first element of array is stored inside pointer variable.


ptr=&arr[0];

3. Accept Size of an Array.


printf("Enter the size of array : ");
scanf("%d",&size);

4. Now we have accepted element one by one using for loop and scanf statement.


printf("\nEnter %d integers into array: ", size);
for (i = 0; i < size; i++) {
   scanf("%d", ptr);
   ptr++;
}

5. Increment pointer variable so that it will then point to next element of array.
After accepting all elements store address of last element inside pointer variable.


ptr=&arr[size-1];

6. Again using reverse for loop and printf statement print an array.


for(i=size-1;i>=0;i--) {
  printf("nElement%d is %d :",i,*ptr);
  ptr--;
}
Write a C program using pointers to read in an array of integers and print its elements in reverse order.

Published on 19-Dec-2021 17:39:45

You may also like this!