有宏定义#define M(x)x*x*2;则a=M(2+3)的值()
A: 2
B: 3
C: 11
D: 14
A: 2
B: 3
C: 11
D: 14
举一反三
- 对于以下宏定义: #define M(x) x*x #define N(x, y) M(x)+M(y)执行语句z=N(2, 2+3);后,z的值是 。
- 对于以下宏定义: #define M 1+2 #define N 2*M+1执行语句“x=N;”之后,x的值是 。
- 若有宏定义: #define M(x,y,z) x*y+z,则宏引用M(2+3,4+5,6+7)通过宏展开后的表达式应为(2+3)*(4+5)+6+7。
- 定义一个带参的宏名f(x)计算表达式2*x*(x+1)的值,则以下带参宏定义中正确的定义形式是: A: B: define f(x) 2*x*(x+1) C: D: define f(x) (2*(x)*((x)+1)) E: F: define 2*(x)*((x)+1) f(x) G: H: define f 2*x*(x+1)
- 用宏替换计算多项式2*x*x-x+10,正确的宏定义是()。 A: #define calculx(x) (2*(x)*(x)-(x)+10) B: #define calculx (2*(x)*(x)-(x)+10) C: #define calculx(x) 2*x*x-x+10 D: #define calculx 2*x*x-x+10