1. 输入两个整数,求它们相除的余数。用带参数的宏来实现。
编写代码如下:
//1. 输入两个整数,求它们相除的余数。用带参数的宏来实现。
#include<stdio.h>
#define YS(x,y) (x%y)
void main() {
int a, b;
printf("请输入2个整数:\n");
scanf_s("%d %d", &a, &b);
int c = YS(a, b);
printf("结果为:%d\n", c);
}
代码运行结果如下:
2. 输入5个整数,输出其中绝对值最小的数。要求定义带参数的宏,计算3个数中绝对值最小的数。
代码编写如下:
//2. 输入5个整数,输出其中绝对值最小的数。要求定义带参数的宏,计算3个数中绝对值最小的数。
#include <stdio.h>
#include <math.h>
#define S(a,b) (abs(a)<abs(b)?a:b)
#define MIN(a,b,c) (abs(S(a,b))<abs(c)?S(a,b):c) //使用了嵌套的宏定义
void main()
{
int a, b, c, d, e;
printf("请输入5个整数:\n");
scanf_s("%d%d%d%d%d", &a, &b, &c, &d, &e);
printf("绝对值最小的数为: %d\n", MIN(MIN(a, b, c), d, e));
}
程序运行结果如下: