黑马程序员技术交流社区

标题: C语言经典编程题-宏定义 [打印本页]

作者: lxhmcxy    时间: 2015-10-7 22:55
标题: C语言经典编程题-宏定义
31.#define  M(x,y,z) x*z+y+z 输出结果是(B )
    main()
    {
        int  a=2,b=1, c=4;
        printf("%d\n", M(a+b,b+c, c+a));
    }
A. 38                    B. 19                       C. 12                       D. 17

解题思路:宏替换只是简单的替换,并不涉及计算逻辑


作者: lvguodong    时间: 2015-10-7 23:04
是的,这一个题目好熟悉啊!这题选择什么啊?
作者: 失眠的咖啡    时间: 2015-10-7 23:11
宏定义仅仅是简单的替换!替换后考虑算术运算符的优先级就行了。选B(a+b*c+a+b+c+c+a=19)




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