黑马程序员技术交流社区
标题:
#define的几中用法(宏定义)
[打印本页]
作者:
阳光地带
时间:
2014-7-21 02:45
标题:
#define的几中用法(宏定义)
1.符号常量的宏定义
#define 标识符 字符串
2.带有参数的宏定义及其替换
#define 标识符(参数列表) 字符串
例: #define FUN(x) (x*x)
注意:宏定义末尾不加;
宏定义的本质是在预处理阶段(编译之前,所以不做语法检查)进行文本替换。
最后考考大家:
#define ADD(x, y) x+y
int m = 3;
m+ = m*ADD(m, m);
复制代码
运行上面这段代码后,m的值是多少?
作者:
火拳
时间:
2014-7-21 09:25
我晕,这个太简单了吧,宏定义要记住,只是单纯的字符串替换,应该写成(x)+(y) 答案是12
作者:
阳光地带
时间:
2014-7-21 23:25
火拳 发表于 2014-7-21 09:25
我晕,这个太简单了吧,宏定义要记住,只是单纯的字符串替换,应该写成(x)+(y) 答案是12 ...
真遗憾,答案是15。不需要有括号啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2