【发布时间】:2018-06-19 04:40:54
【问题描述】:
这是我在考试中提出的问题:“用 c 语言用宏编写 min(a,b,c) 的源代码。”
#define min(a,b,c) ((a)<(b)?((a)<(c)?(a):(c)):((b)<(c)?(b):(c)))
有没有更好的方法来解决 min/max(x,y,z) 问题?
【问题讨论】:
-
是的 - 不使用宏。
-
请注意,FP 号码使用NaN,这将不会返回
min(1.0, NaN, NaN)的预期答案
标签: c macros c-preprocessor preprocessor