1. 宏定义(这个宏输入两个参数,并输出最小大一个)
正确答案:#define MIN(a,b)((a)<=(b)?(a):(b))
注:(1)#define MIN(a,b)(a)<= (b)?(a):(b)是错误的,因为没加大括号
(2)#defineMIN(a, b) (a<=b?a:b)是错误的,因为a和b有可能是表达式
(3)#defineMIN(a, b) ((a)<=(b)?(a):(b)));是错误的,因为后面不加分号
另:MIN(*p++,b)会产生副作用,指针p会做三次自加操作。