【c语言】(宏定义)定义一个带有三个参数的宏MAX,求三个参数中的最大值

题目:

定义一个带有三个参数的宏MAX,求三个参数中的最大值

思路分析:

1.主要是要用一个函数,求三个参数中的最大值
需要用到(x) > (y)? (x) : (y)的多重嵌套
2.或者在函数中设定中间值temp存大的,两个两个比较得到最大值

注意每个元素外都要加()

代码实现:

#include<stdio.h>
#define Max(a, b, c) (a) > (b)? ((a) > (c)? (a) : (c)) : ((b) > (c)? (b):(c))
int main()
{
	int a = 0, b = 0, c = 0, _max = 0;
	printf("Input three number:");
	scanf("%d%d%d",&a,&b,&c);
	_max = Max(a, b, c);
	printf("Output the max number:%d",_max);
	return 0;
}

运行结果:

在这里插入图片描述


版权声明:本文为Halo_7777777原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。