用宏交换一个数的奇数位和偶数位
#include<stdio.h>
#define CHANGE(x) ((x & 0xAAAAAAAA) >> 1) | ((x & 0x55555555) << 1) //分别提取奇数位和偶数位,在分别左移,右移实现交换
int main()
{
int x=0;
printf("Please Enter:");
scanf("%d",&x);
printf("%d\n",CHANGE(x));
return 0;
}
2.用宏比较两个数的大小,输出较大值
#include<stdio.h>
#define COMPARE(x,y) (((x)>(y))?(x):(y))
int main()
{
int x=0;
int y=0;
printf("Please Enter:");
scanf("%d%d",&x,&y);
printf("the larger number is %d\n",COMPARE(x,y));
return 0;
}