有以下程序 #inclucte #define SUB(X,Y) (X+1)*Y main() { int a=3,b=4; printf("%d\n", SUB(a++ ,b++ )); }

admin2016-12-28  19

问题 有以下程序
    #inclucte  
    #define SUB(X,Y)  (X+1)*Y
    main()  {
    int a=3,b=4;
    printf("%d\n",
    SUB(a++ ,b++  ));  }
    程序运行后的输出结果是

选项 A、20
B、12
C、16
D、25

答案C

解析 宏展开的结果(a+++1)*b++,后缀自加表达式参加运算,先用a和b的初值得到表达式的值,进行计算,然后a和b在自加。因此计算结果为16。
转载请注明原文地址:https://jikaoti.com/ti/vVi0FFFM
0

最新回复(0)