问题
单项选择题
有以下程序 #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++)的值。