# define MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5; printf(“%d”,i); 输出是什么,为什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 05:55:37
xQKJ@J@ƊJ[M E iD@.efWRgdŕ+U\pG|]r<ܸvǎ$F8/ "ԁ&6SL}@8 $txҦMP>%*%yOZQ`&̙2Z$<6k[7R@1]%BfZ t8bErd܊VԿ?W߰|06{tGPsYjAQO&44X
eL9أ+
# define MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5; printf(“%d”,i); 输出是什么,为什么?
# define MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5; printf(“%d”,i); 输出是什么,为什么?
# define MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5; printf(“%d”,i); 输出是什么,为什么?
i=3/MA(i,i+2)+5;
经过宏替换后:
i=3/(i)*(i+2)+5;
由于在此之前,i=2,所以
3/(i)*(i+2)+5
就成了
3/2*4+5
由于参与运算的都是整数,所以结果也是整数,即:
3/2的结果就是1,因此,表达式就变成了:
1*4+5
也就是9
#define min(x,y) (x
#define MIN(x,y)(x)
# define MA(x,y) (x)*(y) int i=2; i=3/MA(i,i+2)+5; printf(“%d”,i); 输出是什么,为什么?
#define SETBIT(x,y) (x|=(1
#define MA(x) x*x-1 int a=1,b=2; cout
# define ABS_MOD(x,y) (((x) < 0) ((((x) % (y)) + (y)) % (y)):((x) % (y)))
带参数的宏定义 #define MIN(x,y) (x)
#define X 3 #define Y X*2 #undef X #define X 2 int z=Y; z 的值为多少?
#define s(x) 3
#define S(x) 3
define fun(x,
#define configASSERT( x )
#define __T(x) L ## x
#define get2byte(x) ((x)[0]
C语言中 #define MAX(x,y) (x)>(y)?(x):(y)
#includestdio.h #define MA(x) x*(x-1) void main() { int a=1,b=2; printf(%d
,MA(1+a+b)); }
写一个标准的宏#define MIN(X,Y) ((X)>(Y)?(Y):(X)) MIN(X,Y)是什么语法规则?
求每一步的解释 意义#pragma argsused#define C(x,y) xo##y#define FOR(x) for(C(a,x)=1;C(a,x)