有以下程序: #include<stdio.h> #define SUB(a)(a)-(a) main() { int a=2,b=3,C=5,d; d=SUB(a+b)*c; printf("%d\n

admin2017-07-05  34

问题 有以下程序:
#include<stdio.h>
    #define SUB(a)(a)-(a)
    main()
    {  int a=2,b=3,C=5,d;
       d=SUB(a+b)*c;
       printf("%d\n",d);
    }
    程序运行后的输出结果是(    )。【10年3月】

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

答案C

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

最新回复(0)