体贴电源

文章
6
资源
0
加入时间
3年0月8天

宏定义中的括号重要性

最近在用宏定义时,总是得不到正确的结果,最后才发现是由于宏定义中缺少了括号所致,故特作此文,以警人警己。比如:#define MIN(a, b) a > b ? b : a这样定义也不是每次都有问题。如果用到这个宏的代码像这样,MIN(3, 5) / 2就有问题了。所以需要改成这样:#define MIN(a, b) (a > b ? b : a)即使这样,也会有问题。我举