设有以下宏定义: #define M 4 #define T(t)((M+1)*t) ,则执行语句:y=2*(M+T(4+1));后,y的值为().
A: 出错
B: 50
C: 28
D: 58
A: 出错
B: 50
C: 28
D: 58
举一反三
- 对于以下宏定义: #define M(x) x*x #define N(x, y) M(x)+M(y)执行语句z=N(2, 2+3);后,z的值是 。
- 若有宏定义如下:#define M(x,y) (x*y)int a;a=M(1+2,3);则执行下列语句后,a的值为( )。 A: 7 B: 5 C: 9
- 设有宏定义: #define T(X) 2*X+1 则T(2+1)的值为______
- 若a、b、c、d、t均为int型变量,则执行以下程序段后的结果为 。 #define MAX(A,B) (A)>(B)?(A):(B) #define PRINT(Y) printf("Y=%d ",Y) …… a=1;b=2;c=3;d=4; t=MAX(a+b,c+d); PRINT(t);
- 对于以下宏定义: #define M 1+2 #define N 2*M+1执行语句“x=N;”之后,x的值是 。