问题 单项选择题

有以下程序  #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++)的值。

单项选择题
判断题