有以下程序 #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  13

问题 有以下程序
#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://jikaoti.com/ti/fFn0FFFM
0

最新回复(0)