问题 单项选择题

有以下程序:
#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++)的值,即3*4的值,其结果为12。

问答题 简答题
多项选择题