问题 单项选择题

阅读下列程序段,则程序的输出结果为
#include "stdio.h"
#define M(X,Y)(X)*(Y)
#define N(X,Y)(X)/(Y)
main( )
int a=5,b=6,c=8,k;
k=N(M(a,b),c);
printf("%d\n",k);

A)3
B)5
C)6
D)8

答案

参考答案:A

解析: 带参数的宏定义命令行形式如下:#define宏名(形参表) 替换文本。首先进行M的宏替换,之后再进行N的宏替换,替换后的表达式为(a)*(b)/(C)。

选择题
单项选择题