中易网

若有宏定义:#define A(x) printf(“%d”,x); #define B(y) A(y); 则执行y=5;B(y)的结果为?

答案:1  悬赏:60  
解决时间 2021-01-30 06:54
若有宏定义:#define A(x) printf(“%d”,x); #define B(y) A(y); 则执行y=5;B(y)的结果为?
最佳答案
要明白一点,宏定义没有特殊含义,都是字符串替代的作用,如#define A ab
当使用A的时候,预处理器会把A编程ab,再交给编译器编译。
有的宏有参数,如你说的A(x) 和B(y),预处理器会把使用宏的地方替换的时候把宏代表的字符串里的参数占据的位置也替换为实际的参数。
如你的例子实际会是B(y)代表字符串A(y);
而A(y);又代表字符串printf(“%d”,y);注:x被y替换
所以y=5;B(y)在预处理时会变为y=5;printf(“%d”,y);;
然后再把这给编译器编译的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
某单位采购,采购人跟公司结了款,没有付款给
校园文明标语
我嫌贫爱富,怎么办!!!!
败家子,你是一个败家子。这是哪首歌曲里的。
社会七年级下上海,北京这两座城市的相似之处
西安室内设计工作室哪家好?费用透明?
梦幻西游龙宫好组队吗
在校学生要是不回家怎么和父母说什么
罄其狂瞽怎么读
qq群聊天显示管理员是什么意思?
家里买了只比熊。怎么逗它都没反应。一天除了
java:输入0,还是循环
我是兔男我女朋友是狗我们合得来吗他比我大5
这个肌肉质量如何?
android怎么实现点击button从侧边弹出list
推荐资讯
我想知道广东梅州移动分公司的负责人是谁呢
瘦人适合深蓝色的衣服麽?
OHUI是哪个国家的护肤品牌?
大众朗逸经典款配了遥控钥匙后自动落锁怎么不
产妇吃什么好 产妇多吃五种食物有利于恢复
不自信,认为自己做不好现在的工作!我现在是
利玛窦为什么肯定儒学
ED镜片指什么?
广西钦州到贵阳火车票多少钱
请问中学物理试验用的小灯泡额定电压和功率一
淘宝虚拟交易平台是骗子平台,我被骗了,谁骂
我初一,刚开学,喜欢上一个女生,她是我们班
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?