有以下程序 #include #define SUB(a) (a)-(a) main() { int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%d\n",d); } 程序运行后的输出结果是( )。

admin2015-07-28  16

问题 有以下程序
#include
#define SUB(a) (a)-(a)
main()
{ int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
程序运行后的输出结果是( )。

选项 A、-20
B、-12
C、0
D、10

答案A

解析 宏定义只是使用宏名代替一个字符串,是一种机械的置换,所以宏替换后的语句"d=SUB(a+b)*c;"为"d=(a+b)-(a+b)*c;",计算结果为-20,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/R7Jp777K
0

随机试题
最新回复(0)