我不明白为什么结果将是36.有人可以向我解释这里发生了什么,以及预处理器做了什么?C++宏的副作用
#include <iostream>
#define QUADRAT(x) ((x) * (x))
using namespace std;
int main()
{
double no = 4.0;
double result = QUADRAT(++no);
cout << result;
return 0;
}
非常感谢:>
感谢奥利,现在它有道理:) – Max 2012-03-25 00:00:46