用三目运算符
如:
简单比较:#define check(a, b) (((a) - (b)) = fabs((a) - (b))) ? "greater" : "smaller"
返回较大值:#define MAX(a, b) (abs((a) - (b)) = ((a) - (b)) ? (a) : (b)) 缺点:可能存在精度误差
改进:#define MAX(a, b) (fabs((a) - (b)) = ((a) - (b)) ? (a) : (b))
引申:写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个
#define MIN(A, B) ((A) <= (B) ? (A) : (B))
本文介绍了如何通过宏定义来实现数值之间的大小比较,并提供了一个返回较大值的宏定义示例。此外,还讨论了宏定义可能存在的精度误差问题及改进方案,并给出了一个用于返回两数中较小值的宏定义。
1192





