C语言的编译系统对宏命令的处理是

 我来答
门天巧杭翠
2019-05-20 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:923万
展开全部
前言:宏实质就是编译器在对代码进行编译之前进行的一个“查找替换”工作,就跟你在处理文档时用wps/word/记事本等进行“查找替换”操作一样。
c语言的编译系统对宏命令的处理是()
a。在程序运行时进行的
b。在对源程序中其他成分正式编译之前进行的
c。在程序连续时进行的
d。和c程序中的其他语句同时进行编译
答:选b。在对源程序中其他成分正式编译之前进行的
2,
#define
n
2
/*
在预编译时将用下面代码中n替换成2
*/
#define
m
n+1
/*
在预编译时将m替换成n+1(即2+1,n会再被替换成2)*/
#define
num
2*m+1
/*
如上:在预编译时num替换成2*m+1,即2*n+1+1,即2*2+1+1*/
main()
{int
i;
for(i=1;i<=num;i++)printf("%d\n",i);
/*
*
如上所述,上句展开为:for(i=1;i<=2*2+1+1;i++)printf("%d\n",i);
*
所以:循环将执行6次
*/
}
/*
切记注意:每一个宏百进行替换时只是替换“正文”中的内容,而不包括预编译语句的内容,
否则就会像不少人理解的那样,错误地认为第2个题中的循环将执行7次
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式