Reverse bits

Write a recursive function to reverse the bits of a number.

#include<stdio.h>
void print_num_in_binary_Rec(int);
void Reverse_bits_Rec(int*);
int main()
{
	int num;
	printf("Enter Number = ");
	scanf("%d",&num);
	print_num_in_binary_Rec(num);
	Reverse_bits_Rec(&num);
	print_num_in_binary_Rec(num);
	return 0;
}
void print_num_in_binary_Rec(int n)
{
	int i;
	i = sizeof(int)*8-1;
	while(i>=0)
	{
		printf("%d",n >> i & 1);
		if(!(i%8))
		printf(" ");
		i = i--;
	}
	printf("\n");
}
void Reverse_bits_Rec(int *n)
{
	static int i = 0,j = sizeof(int)*8-1;
	if(i<j)
	{
		if((*n >> i & 1) != (*n >> j & 1))
		{
			*n = *n ^ 1 << i;
			*n = *n ^ 1 << j;
		}
		i++,j--;
		Reverse_bits_Rec(n);
	}
}

Output

Enter Number = 15
00000000 00000000 00000000 00001111
11110000 00000000 00000000 00000000