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