有#define MUL(x,y) x*y, 则printf("s=%d",MUL(2,2+3)):的结果.求大神尽量解答详细些,谢谢. 我来答 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 #define printf mul 大神 搜索资料 1个回答 #热议# 上班途中天气原因受伤算工伤吗? 笑着苦恼 推荐于2018-02-28 · TA获得超过197个赞 知道答主 回答量:44 采纳率:100% 帮助的人:14.5万 我也去答题访问个人页 关注 展开全部 define仅仅是字符替换,因此在将MUL(2,2+3)时,x是2,y是2+3,直接将表达式x*y替换字符后,则变成了2*2+3,其计算结果在乘法优先于加法的作用下会得到7这个数值。这里运用了PRINTF语句,所以输出的值是S=7为了避免这种情况,有两种办法解决定义更安全的宏定义,即使用括号将表达式括起来,避免了优先级在替换后变化。define MUL(x,y) (x)*(y)将宏定义改变为函数int MUL(int x,int y){ return(x*y); } 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 广告您可能关注的内容超级码客~2025版海量5000道Java面试题+笔试题&答案超级码客涵盖高级java面试海量Java面试题#Java语言,多线程,Java框架,Java高并发等超4500题www.chaojimake.cn广告java软件下载教程Java工程师2024革新版,高薪就业加速器!java软件下载教程从零到高阶,39周课程铺就高薪成长路,大厂讲师亲自授课,7年迭代精品课java软件下载教程实战项目+源码解析+性能调优,全面打造高薪竞争力,18个月教学服务m.imooc.com广告 其他类似问题 2021-06-26 若有#define MU(x,y) x*y , 则表达式24/MU(1+2,2)的值是? 2015-01-09 #define MM(x,y) (x)+(y) printf(%d,MM(2*3,15)*2 2 2014-06-08 #define MAX(x,y) x*y cout<<MAX(2+1,3+4)<<endl; 结果是多少啊 1 更多类似问题 > 为你推荐: