早教吧 育儿知识 作业答案 考试题库 百科 知识分享

1.用宏f(x,y)实现x-y,正确的定义方式是哪个?解释下每个的含义和错的地方,哪个正确.A.#definef(x,y)x-yB.#definef(x,y)x-(y)C.#definef(x,y)(x)-(y)D.#definef(x,y)((x)-(y))

题目详情
1.用宏f(x,y)实现x-y,正确的定义方式是哪个?解释下每个的含义和错的地方,哪个正确.
A.#define f(x,y) x-y
B.#define f(x,y) x-(y)
C.#define f(x,y) (x)-(y)
D.#define f(x,y) ((x)-(y))
▼优质解答
答案和解析
D最保险,在任何情况下都适用.
ABC在某些情况下会失效,举个例子:
A#define f(x,y) x-y
那么这样调用就有问题:5 * f(3,2)
一展开就变成了 5* 3 - 2 =13,而调用者原意是 5*1=5
B和C存在类似情况,只有D最好