黑马程序员技术交流社区
标题:
宏定义输出
[打印本页]
作者:
简约无处不在
时间:
2016-5-13 21:23
标题:
宏定义输出
#define M(x,y,z) x*z+y+z 输出结果是( )
main()
{
int a=2,b=1, c=4;
printf("%d\n", M(a+b,b+c, c+a));
}
作者:
kedt5200
时间:
2016-5-13 21:39
这样用宏很危险,宏是直接展开的,不会去做类型检查,加上又没有括号保护优先级,这样的代码分分钟是定时炸弹。
宏一般用于:1、定义常量 2、定义频繁操作(相比于函数效率更高)
作者:
SuperJJ
时间:
2016-5-14 20:31
一般都是加上括号的吧?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2