#define F(x) x - 2 #define D(x) x*F(x) printf("%d,%d",D(3),D(D(3))) ;

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 12:51:52
#define F(x) x - 2 #define D(x) x*F(x) printf(
xQN@ IJhh[ ! _RLT\ą61& > M\L{=6kb\)–W-WJZ"YB:EC!TS+rJyvn2H[3.|q,{qRqZQMꔍx$<|]gQ ,EXe3I"h)6 \*E+&}:λ|t>/ٸ&=?eCu '* \-g'cb2:GfO%:xr:gQGt^d|6v7$yؔ XϞ+?~

#define F(x) x - 2 #define D(x) x*F(x) printf("%d,%d",D(3),D(D(3))) ;
#define F(x) x - 2 #define D(x) x*F(x) printf("%d,%d",D(3),D(D(3))) ;

#define F(x) x - 2 #define D(x) x*F(x) printf("%d,%d",D(3),D(D(3))) ;
7,-13
-----------
(1)
F(x) = x - 2; 注意,按定义,不带括号.
D(x) = x*x-2
D(3) = 3*3-2 = 7
(2)
D(D(3)) 把 D(3) 先看成D(x) 或 X,把3看成x,考虑如何一步步做宏替代
X = x*x-2;
D(D(x)) = D(X) = X * X - 2
D(D(x)) = x*x-2 * x*x-2 -2 = 3*3 - 2*3*3-2 -2; 由于无括号,运算时先乘除后加减
= 9 - 18 -2 -2 = -13