问题
单项选择题
以下程序运行后的输出结果是 #include<stdio.h> #define SUB(a)(a)-(a) main() { int a=2, b=3, c=5, d;d=SUB(a+b)*e;printf("%d\n", d); }
A.0
B.-12
C.-20
D.10
答案
参考答案:C
解析: 本题考查带参的宏定义。编译时,将d=SUB(a+b)*c宏展开,字符替换后为d=(a+b)-(a+b)*c=(2+3)-(2+3)*5=5-5*5=-20。