len3d

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最简单的例子:

#define MAX(a,b) (((a)>(b))?(a):(b))

如果写成:

#define MAX(a,b) ((a>b)?a:b)

语法上也正确,但是很容易造成隐藏的错误!

因为如果当a或者b为表达式时,宏替换后的代码就跟程序员的本意不同了!
posted on 2005-09-02 00:10  Len3d  阅读(267)  评论(0编辑  收藏  举报