Reverse an Array Using Only Pointers

Code

#include <stdio.h>

void reverse_array(int *a, int n){
    int temp = 0;
    for(int i = 0; i < n - i - 1; i++){
        temp = *(a+i);
        *(a+i) = *(a + (n - i - 1));
        *(a + (n - i - 1)) = temp;
    }
}

int main(){
    int a[100], n;
    scanf("%d", &n);
    
    for(int i = 0; i < n; i++){
        scanf("%d", &a[i]);
    }
    reverse_array(a,n);
    for(int i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

5 1 2 3 4 5

Expected Output

5 4 3 2 1