万千只cnm 发表于 2021-1-27 16:31:44

宏定义替换(课后作业

请问
LINK宏定义为什么不会被替换呀不应该同时替换嘛
我这么想的:
--> printf(" INT NL",LINK(2,5,0))-->最终结果printf(" INT NL",520)
哪错了呢{:5_104:}

sunrise085 发表于 2021-1-27 17:32:15

你理解的没错啊
替换过程就是如你想象的这样
printf(" INT NL",LINK(2,5,0))-->最终结果printf(" INT NL",520)
最后得到的这一句 printf(" INT NL",520)   因为引号中没有格式化字符,所以后面给出的数字520也没有任何作用,最后打印的结果就是 INT NL

xieglt 发表于 2021-1-27 17:33:27

printf(" INT NL",LINK(2,5,0))-->最终结果printf(" INT NL",520)

LINK宏是替换了的,
但是 INTNL 没替换。
printf("INT NL",520) 输出 INT NL 没有问题啊
printf("%d\n",520) 才输出 520;


万千只cnm 发表于 2021-1-27 18:05:58

xieglt 发表于 2021-1-27 17:33
printf(" INT NL",LINK(2,5,0))-->最终结果printf(" INT NL",520)

LINK宏是替换了的,


oo 谢谢

万千只cnm 发表于 2021-1-27 18:06:28

sunrise085 发表于 2021-1-27 17:32
你理解的没错啊
替换过程就是如你想象的这样
printf(" INT NL",LINK(2,5,0))-->最终结果printf(" INT...

谢谢
页: [1]
查看完整版本: 宏定义替换(课后作业