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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 简约无处不在 中级黑马   /  2016-5-13 21:23  /  1278 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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));
}

2 个回复

倒序浏览
这样用宏很危险,宏是直接展开的,不会去做类型检查,加上又没有括号保护优先级,这样的代码分分钟是定时炸弹。

宏一般用于:1、定义常量  2、定义频繁操作(相比于函数效率更高)
回复 使用道具 举报
一般都是加上括号的吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马