#define POW(X) X*X
cout << POW(5) //输出25
cout << POW(2 + 3) //输出11 因为编译器处理成了2 + 2*3 + 3
//正确宏定义方式
#define POW(X) ((X) * (X))
cout << POW(2 + 3) //输出25
C/C++define宏定义的坑
最新推荐文章于 2021-05-16 02:37:41 发布
#define POW(X) X*X
cout << POW(5) //输出25
cout << POW(2 + 3) //输出11 因为编译器处理成了2 + 2*3 + 3
//正确宏定义方式
#define POW(X) ((X) * (X))
cout << POW(2 + 3) //输出25