问题 单项选择题

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

单项选择题
单项选择题