Reverse an Array Using Only Pointers

Code

#include <stdio.h>

void reverse_array(int *ptr, int n){
	int *left = ptr;
	int *right = ptr + n -1;
	
	while (left<right){
		int temp = *left;
		*left = *right;
		*right = temp;
	 
	// di chuyen con tro
	left++;
	right--;
}
}

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

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

5 1 2 3 4 5

Expected Output

5 4 3 2 1