习题需要编写带参数的宏:
CHECK(x, y, n) -------- x和y都落在0和n-1之间(包括端点)时值为1。
MEDIAN(x, y, z) --------计算x、y和z的中值。
如果编写成语句,那需要一个返回值,这个不知道怎么实现。
如果写成一个表达式,实在想不出来该怎么表达。
大神们能否帮忙看看。
习题需要编写带参数的宏:
CHECK(x, y, n) -------- x和y都落在0和n-1之间(包括端点)时值为1。
MEDIAN(x, y, z) --------计算x、y和z的中值。
如果编写成语句,那需要一个返回值,这个不知道怎么实现。
如果写成一个表达式,实在想不出来该怎么表达。
大神们能否帮忙看看。
非常感谢!不过第二个表达式括号数量不对,而且xy的含义也没看明白。
根据同样的思路,我改进了这个表达式:
#define MEDIAN(x,y,z) (x>y ? (y>Z ? y : (x>z ? z : x)) : (x>z ? x : (y>z ? z : y)))