我不明白爲什麼結果將是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