A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanqi 中级黑马   /  2016-3-17 23:35  /  1019 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#define SUM (x) (x)+(x)
这还是定义的宏函数 SUM(x)吗?显然不是。编译器认为这是定义了一个宏:SUM,
其代表的是(x) (x)+(x)。为什么会这样呢?其关键问题还是在于 SUM 后面的这个空 格。所以在定义宏的时候一定要注意什么时候该用空格,什么时候不该用空格。这个空格仅 仅在定义的时候有效,在使用这个宏函数的时候,空格会被编译器忽略掉。也就是说,上一 节定义好的宏函数 SUM(x)在使用的时候在 SUM 和(x)之间留有空格是没问题的。比 如:SUM(3)和 SUM (3)的意思是一样的。

1 个回复

倒序浏览
学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马