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

admin2017-04-26  19

问题 有以下程序,程序运行后的输出结果是
    #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、-12
B、0
C、10
D、-20

答案D

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

最新回复(0)