练习8-1
/*---定义一个函数式宏diff(x,y),返回x,y二值之差。---*/
#include <stdio.h>
#define diff(x,y) ((x > y) ? (x - y) : (y - x))
int main(void)
{
int x, y;
puts("请输入两个整数:");
scanf("%d %d",&x, &y);
printf("%d",diff(x, y));
return 0;
}
练习8-2
/*---定义功能返回x,y中的较大值的函数式宏,并使用。---*/
#include <stdio.h>
#define max(x, y) (((x) > (y)) ? (x) : (y))
int main(void)
{
int a, b, c, d;
puts("请输入4个整数:");
scanf("%d %d %d %d",&a, &b, &c, &d);
printf("max(max(a,b),max(c,d))计算最大值:%d\n"
"max(max(max(a,b),c),d)计算最大值:%d",
max(max(a,b),max(c,d)),max(max(max(a,b),c),d));
return 0;
}
练习8-3
/*---定义一个函数式宏swap(type a, b)以使type型的两值互换。---*/
#include