请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

#define MIN(a,b) a<b?a:b

#define MIN(a,b) a<b?a:b 刚开始我这样为什么有错啊

正在回答

1回答

#define只是宏替换;如果MIN(1+2, 2+3) 就变成 1+2 < 2+3 ? 1+2:2+3    你想想会咋样。所以一般要加括号: #define MIN(a,b) (a)<(b) ?(a):(b)      宏替换还有一个问题就是不做语法检查,属于预编译行为,这点没有函数安全。

4 回复 有任何疑惑可以回复我~
  • 提问者 邹正霖 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-10-03 12:05:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信