_Max(a,b) a>b?a:b

C语言中的宏_Max(a,b) a>b?a:b 是干什么的
2025-01-03 00:46:22
推荐回答(2个)
回答1:

返回a和b中较大的一个。


但是这个宏有诸多缺点。

  1. 当调用比如_Max(3,2)*2时会出现不想要的结果。

  2. _M这种形式是留给实现的。

综上,修改如下:

#define MAX(a,b) ((a)>(b)?(a):(b))

回答2:

这叫三目运算符,最容易理解的说法就是:
a>b成立吗?成立就是a,否则就是b。