50. Reverse an Array Using Only Pointers

Back To All Submissions
Previous Submission
Next Submission

Code

#include<stdio.h>

int main()
{
    int n;

    scanf("%d", &n);

    int arr[100];

    int *ptr = arr;

    // Input array elements
    for(int i = 0; i < n; i++)
    {
        scanf("%d", ptr + i);
    }

    // Pointers for reversing
    int *start = ptr;
    int *end = ptr + n - 1;

    // Reverse array using pointers
    while(start < end)
    {
        int temp;

        temp = *start;
        *start = *end;
        *end = temp;

        start++;
        end--;
    }

    // Print reversed array
    for(int i = 0; i < n; i++)
    {
        printf("%d ", *(ptr + i));
    }

    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote