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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 11:23:27
#define F(x) x - 2 #define D(x) x*F(x) printf(

#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