#include <stdio.h>
// void reverse_array(int *ptr, int n) {
// for(int i=0;i<n/2;i++){
// int temp = *(ptr+i);
// *(ptr+i)=*(ptr+n-i-1);
// *(ptr+ n-i-1) = temp;
// }
// }
void reverse( int *left, int * right){
if(left == NULL || right ==NULL){
return;
}
while(left<right){
*left ^= *right;
*right ^= *left;
*left ^= *right;
left ++;
right--;
}
}
void reverse_array(int *ptr, int n){
if (ptr ==NULL || n==0)
return;
reverse(&ptr[0], &ptr[n-1]);
}
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]);
if(i < n-1){
printf(" ");
}
}
return 0;
}
Input
5 1 2 3 4 5
Expected Output
5 4 3 2 1