#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a); } 为什么我算的是13啊
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 22:15:56
#defineTap(X)2*X+1main(){inta=6,k=2,m=1;a+=Tap(k+m);printf("%d\n",a);}为什么我算的是13啊#defineTap(X)2*X+1ma
#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a); } 为什么我算的是13啊
#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a); }
为什么我算的是13啊
#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a); } 为什么我算的是13啊
a=12
因为a+=Tap(k+m)展开宏后得到
a+=2*k+m+1
如果错了你就应该将宏写为
#define Tap(X) 2*(X)+1
(2+1)*2+1+6=13
没错,是13
13
a=2*(2+1)+1+6
12
a+=Tap(k+m);
这句相当于a=a+(Tap(k)+m)
a=6+(2*2+1)+1)
a= 12
下列程序输出的结果是?#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf(%d
,a);#define Tap(X) 2*X+1main(){int a=6,k=2,m=1;a+=Tap(k+m);printf(%d
,a);}答案是对的,但是为什么啊?
#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf(%d
,a); } 为什么我算的是13啊
#define SETBIT(x,y) (x|=(1
#define s(x) 3
#define S(x) 3
define fun(x,
#define configASSERT( x )
#define MA(x) x*x-1 int a=1,b=2; cout
#define min(x,y) (x
#define MIN(x,y)(x)
#define __T(x) L ## x
#define get2byte(x) ((x)[0]
#define F(x) x - 2 #define D(x) x*F(x) printf(%d,%d,D(3),D(D(3))) ;
#define SWP_TYPE(x) (((x).val >> 1) & 0x3f)
#define set_bit(x,b) (x) |= (1U
#include #define X 5 #define Y X+1 #define Z Y*X/2 main() { int a; a=Y; printf(%d %d
,Z结果为什么是7 5呢,不解,
#define X 3 #define Y X*2 #undef X #define X 2 int z=Y; z 的值为多少?
#define N 5 #define f(M) ((N+1)*M) 求x=2*(N+1)+2*f(N+1); 求x的值 最好带运算过程