问题 单项选择题

请读程序: #include <stdio.h> #define SUB(X,Y) (X)*Y main() { int a=3,b=4;printf("%d\n",SUB(a++,b++)); } 上面程序的输出结果是( )。

A.12

B.15

C.16

D.20

答案

参考答案:A

解析: 本题的考查点是宏定义。a++的形式应当先使用a值,然后a才进行自加1运算,所以程序在进行SUB()乘法运算的时候,仍取a,b的原值,最后输出的结果是12。

多选题
单项选择题