
用 #define 实现宏并求最大值和最小值。解析:以下为实现代码1 #define MAX(x,y) (((x) (y)) ? (x) : (y))2 #define MIN(x,y) (((x) (y)) ? (x) : (y))在这里 MAX(x,y) 表示取 x 和 y 的最大值 MIN(x,y) 表示取 x 和 y 的最小值。以下3个目的。- 考查 #define 在宏上应用的基本知识。- 考查三重条件操作符的应用。这个操作符能产生比 if-else 更优化的代码写法上更加简洁明了。- 考查宏定义的写法。在宏中需要把参数小心地用括号括起来。因为宏只是简单文本替换如果不注意很容易引起歧义。为什么要层层加括号举反面例子#define MAX_BAD(x,y) (xy?x:y)MAX_BAD(12, 34)文本替换后变成 1234?12:34