#include <iostream>
using namespace std;
#define SQR(x) ((x) * (x))
int main()
{
int i=3;
cout<<"aaa"<<endl;
i=3;
cout<<SQR(++i)<<endl;
system("pause");
return 1;
}
Bug分析:
当调用如下语句时:
i=3;
SQR(++i);
将宏展开就是:
((++i) * (++i));
结果就是
4*5=20;