Reverse array elements

Write a recursive function to reverse the elements of an array.

#include<stdio.h>
void Reverse_ele_Rec(int*,int*);
void Print_Array_Elements(int*,int);
int main()
{
	int a[5] = {10,20,30,40,50};
	int i;
	int Total_Elements = sizeof(a)/sizeof(a[0]);
	Print_Array_Elements(a,Total_Elements);
	Reverse_ele_Rec(a,&a[Total_Elements-1]);
	Print_Array_Elements(a,Total_Elements);
	return 0;
}
void Reverse_ele_Rec(int*p,int*q)
{
	int temp;
	if(p < q)
	{
		temp = *p;
		*p = *q;
		*q = temp;
		Reverse_ele_Rec(p+1,q-1);
	}
}
void Print_Array_Elements(int *p,int n)
{
	int i = 0;
	while(i < n)
	{
		printf("%d ",p[i]);
		i++;
	}
	printf("\n");
}

Output

10 20 30 40 50
50 40 30 20 10