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

admin2020-11-23  33

问题 以下程序的输出结果是(  )。
#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、0
B、10
C、一12
D、一20

答案D

解析 本题主要考查的是宏替换,在程序中执行d=SUB(a+b)*c这条语句时,首先要进行宏替换,依据宏SUB(A)的定义可知,上面这条语句替换为d=(a+b)一(a+b)*c,因为乘法的优先级比减法的优先级高,所以先进行乘法运算,即d=5—5*5=一20,可以看出,出现了运算错误。
转载请注明原文地址:https://jikaoti.com/ti/l1D0FFFM
0

相关试题推荐
最新回复(0)