C++函数形式的宏定义
小弟有一个程度对输出结果看不懂,求大佬指点迷津 #include <iostream> #define S(x) (x)*x*2 using namespace std; void main() { int k = 5, j = 2; int m = S(k + j); int n = S(k - j); cout << m << endl; cout << n << endl; } 这个程序输出的结果是39 11,不知为什么 如果我把宏定义中的(x)改成x: #include <iostream> #define S(x) x*x*2 using namespace std; void main() { int k = 5, j = 2; int m = S(k + j); int n = S(k - j); cout << m << endl; cout << n << endl; } 程序运行结果是19 -9,同样不知为什么。。。
#C++工程师#