问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言中,为什么宏定义写#define MIN(a,b) a

发布网友 发布时间:2022-05-02 15:07

我来回答

3个回答

热心网友 时间:2022-06-20 13:58

这就涉及到函数与宏的优缺点了
宏会在编译器在对源代码进行编译的时候进行简单替换,不会进行任何逻辑检测,即简单代码复制而已,既然是单纯的替换,如果你括号去掉由于优先级的关系,就有可能出现问题。

之所以用宏是因为 宏的效率高,不需要压栈 和出栈

热心网友 时间:2022-06-20 13:59

在这个宏定义中有括号和没括号没什么区别,但不能保证在其他宏定义中两者无区别,
例如,#define MUL(a,b) ((a) * (b))与 #define MUL(a,b) (a * b)

令a = 3 + 1, b=2, 则前者=(3+1)*2=8 ,后者=(3+1*2)= 5

所以为了保证宏定义结果的安全性,一般每个变量都要加上括号

热心网友 时间:2022-06-20 13:59

因为一旦a或b代入的表达式中 有比< 运算优先级更小的运算符 运算的优先级会被改变 得到的可能不是原来想要的结果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 后背正中心 脖子下方 的痦子代表什么 后背有之痣还是四个在一起长,看着像梅花,代表什么 C语言中的min是什么意思? c语言怎么编写求10个数中最小的函数min,要求函数有返回值。(用数组作为形参求) 背上靠近肩膀的痣需要去除吗 C语言,指针变量做形参,地址做实参,自定义一个min函数,由min函数返回两个整数中的最小数 后背长个痦子&#47;痣,越来越大还有点痒,这是什么,在网上查了一下,太 c语言怎么编写10个数中最小数的函数min,要求函数有返回值。(用数组作为实参求) c语言中max,min函数问题及switch 我后背长个痣为了美观我纹身了 如何介绍一种食品? 听人说背部痣是苦情痣,然后一天偶遇路边点痣的一冲动点了,一年多了长了几个肉坨坨出来,怎么办啊? 编写函数min(int b[10]) ,用来求数组a中元素的最小值。C语言 背部有痣好不好,可以点掉吗? 初学C语言,为什么我的max,min函数无法调用啊? 几个月前后背点痣,结痂脱落后渐渐长成了这样,边缘凸起,中间凹陷成色素沉淀,怎么样让它和周围皮肤恢复 min函数到底在哪个头文件里 今年要准备证券从业资格考试,求过的人指点一下,要考几科啊? 数据库系统的5个重要软件组成 部分,对数据库设计和管理人员哪个最重要?为什么 ? 谁能帮我写篇作文啊 ,谢谢了 马上就要考试了,求过!!! 手后背上的痣可以去掉吗? c语言输入10个学生的成绩,输出最高分和最低分.编写函数max求最高分,min函数求最 后背上长了一个大痦子,小指甲盖2&#47;3那么大吧,黑的。怎么可以去掉?会有疤吗。会不会感染什么的 DNF南部溪谷怎么搬砖? 长在哪些地方的痣算是凶痣? 帮解答一下,C语言:1,编写函数int *min(int array[],int n),返回n个元素的整形数组中最小元素的地址。 DNF南部溪谷深渊图攻略 C语言编写函数求数组中最小值 黄焖鸡米饭米饭怎样做 腾讯视频是同一个账号但在不同设备上,推荐内容会一样吗? 在微信里点赞的位置怎么看不到我们的共同好友呢 微信为好友点赞为何不显示 苹果快捷指令不受信任打不开ios14 windows10怎样从镜像还原系统 中国古代政治制度的内容 HOSTS域名解析错误怎么解决 DNS和HOSTS在功能上有什么区别? 中国古代地方政治制度演变的内容及规律 网络修复时dns异常,点修复只后还是异常怎么办? 域名解析文件异常是什么意思啊