目前看到的比较好的方法是:
#define MaxNum(a, b) (fabs((a)-(b)) == ((a)-(b))?(a):(b))
这个定义也有问题,虽然说fabs参数为double类型,已经是足够用了,但在c++中有个重载的问题,其原型为double fabs( double x );
如果输入的两个数都为int类型,编译就通不过。
由此可见,不要用宏干这样的事情,实在是,没什么意义
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3