黑马程序员技术交流社区

标题: 宏定义中的空格 [打印本页]

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2