.写一个宏可以将一个数字的奇数位和偶数位交换。
#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
#include<stdlib.h>
#define EXCHANGE(input)\
(((input)&(0x55555555)) << 1) | (((input)&((0x55555555)<<1)) >> 1)
#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
#include<stdlib.h>
#define EXCHANGE(input)\
(((input)&(0x55555555)) << 1) | (((input)&((0x55555555)<<1)) >> 1)
int main()
{
int input = 0;
printf("输入一个数字:");
scanf("%d", &input);
printf("%d", EXCHANGE(input));
system("pause");
return 0;
}
{
int input = 0;
printf("输入一个数字:");
scanf("%d", &input);
printf("%d", EXCHANGE(input));
system("pause");
return 0;
}
使用宏实现两个数中求较大值。
#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
#define MAX(a,b)\
((a)>(b) ? (a):(b))
((a)>(b) ? (a):(b))
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", MAX(a, b));
system("pause");
return 0;
}
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
printf("%d", MAX(a, b));
system("pause");
return 0;
}