33问答网
所有问题
下列程序输出的结果是? #define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); printf("%d\n",a);
#define Tap(X) 2*X+1
main()
{int a=6,k=2,m=1;
a+=Tap(k+m);
printf("%d\n",a);
}
答案是对的,但是为什么啊?能给个详细的解释么?
举报该问题
推荐答案 2010-12-21
12
a+=Tap(k+m);
这句相当于a=a+(Tap(k)+m)
a=6+(2*2+1)+1)
a= 12
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/cPB40R0cd.html
相似回答
设有
#define
tap(x)
x+1,
则
2*tap(2)
的值是多少
答:
2*tap(2
)=2*
2+1=5;而如果
#define
tap(x)
(x+1),
则结果为
2*(
2
+1)=6
设有
#define
tap(x)
x+1,
则
2*tap(2)
的值是多少
答:
2*tap(2)的值为5.这是C语言的宏定义。也就是说把tap(x)定义为x+1,所以在编译之前的预处理阶段会将代码中
的tap(x)
替换成x+1。所以语句2*tap(x)等价于
2*x+1,
则2*
tap(2)+1
等价于2*
2+1=
5.所以说2*
tap(2)=
5。
跪求C语言高手?
答:
1: result is 4 2: result is 6 3: result is 8 s=16 10 7 x=9 12 哪有划线?估计是 static
int
x=2;
只有这个可以 51 3个 你连编译都不会么
大家正在搜
相关问题
以下程序的运行结果是( )。 #define X a+b m...
下面程序的执行结果是 。 #include<stdio.h>...
23. 以下程序的输出结果是( ) #define MA(x...
C语言中,下列程序执行后的输入结果是______ #defi...
#define Tap(X) 2*X+1 main() {i...
以下程序运行后,输出结果是______。 #define...
下面程序的执行结果是 。 #include<stdio.h>...
以下程序的输出结果是 2为什么 #define SQR(X)...