万能百科  > 所属分类  > 

下列程序的输出结果是 #include "stdio.h" #defineM(x,y)x%y main() {int a,m=12,n=100; a=M(n,m

下列程序的输出结果是

#include "stdio.h"

#define M(x,y) x%y

main()

{ int a,m=12,n=100;

a=M(n,m);

printf("%d\n",a--);}

A.2

B.3

C.4

D.5

正确答案:

C解析:带参数的宏定义命令行形式如下:#define 宏名(形参表) 替换文本在编译的时候编译预处理程序用"替换文本"来替换宏,即M(n,m)被替换为n%m,之后计算,将计算的结果赋给a。注意,宏替换是在编译时由预处理程序完成的,宏替换不占用运行的时间,而函数调用是在程序运行时进行的,在函数的调用过程中需要占用一系列的处理时间。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签