一个C语言问题,给我解释一哈,#define f(x) 1+x+x*x#includevoid ma
网友回答
#define f(x) 1+x+x*x是宏定义,代入时是这样:
f(a+b)=1+a+b+a+b*a+b=1+2+3+2+3*2+3=17
注意,这里代入时,不是(a+b)而是a+b.因为是f(a+b),不是f((a+b)).
======以下答案可供参考======
供参考答案1:
就是:1+2+3+2+3*2+3=17
你是不是认为是
1+(2+3)+(2+3)*(2+3)=31 啊?
注意没有括号
供参考答案2:
楼上正解宏定义是完全的原文代换,没有优先级概念。