问题 单项选择题

以下程序运行后的输出结果是 #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。

单项选择题
单项选择题