问题 单项选择题

有以下程序  #include  <stdio.h>  #define  F(X,Y)  (X)*(Y)  main( )  { int a=3, b=4;   printf("%d\n", F(a++, b++));  }  程序运行后的输出结果是()

A、12

B、15

C、16

D、20

答案

参考答案:A

解析:

本题考查了带参数的宏定义。参数只是进行简单的替换而不是把其值求出后替换形式参数。本题中用a++替换X,用b++替换Y,再求(a++)*(b++)的值。

单项选择题
单项选择题