【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;
}
运行结果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Halo_7777777/article/details/84667644