Swap nibble by macro

Write a program to swap nibble(4 bits) of a number using macro.

#include<stdio.h>
int i,j;
#define SWAP_NIBBLE(x) for(i=0,j=28;i<4;i++,j++)\
		{\
			if(((x) >> i & 1) != ((x) >> j & 1))\
			{\
				x = x ^ 1 << i;\
				x = x ^ 1 << j;\
			}\
		}
void Print_Num_inBinary(int);
int main()
{
	int num;
	printf("Enter a Number = ");
	scanf("%d",&num);
	Print_Num_inBinary(num);
	SWAP_NIBBLE(num);
	printf("Nibbles are swapped.");
	Print_Num_inBinary(num);
	return 0;
}
void Print_Num_inBinary(int n)
{
	int i;
	printf("\n%d Bit Binary Representation of a Number\n",sizeof(int)*8);
	for(i = ((sizeof(int)*8)-1);i >= 0;i--)
	{
		printf("%d",n >> i & 1);
		if(!(i%8))
			printf(" ");
	}
	printf("\n\n");
}

Output

Enter a Number = 15
32 Bit Binary Representation of a Number
00000000 00000000 00000000 00001111
Nibbles are swapped.
32 Bit Binary Representation of a Number
11110000 00000000 00000000 00000000