#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
#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