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("Enter the size of array : ");
scanf("%d",&size);
printf("nEnter %d integers into array:n",size);
for(i=0;i<size;i++)
{
scanf("%d",ptr);
ptr++;
}
ptr=&arr[size-1];
printf("nElements of array in reverse order are:n");
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 :
- We have declared one pointer variable and one array.
int size,i,arr[MAX];
int *ptr;
- Address of first element of array is stored inside pointer variable.
ptr=&arr[0];
- Accept Size of an Array.
printf("Enter the size of array : ");
scanf("%d",&size);
- Now we have accepted element one by one using for loop and scanf statement .
printf("nEnter %d integers into array:n",size);
for(i=0;i<size;i++)
{
scanf("%d",ptr);
ptr++;
}
- 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];
- 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--;
}
No comments:
Post a Comment