小程序的问题,请高手解释
#include <iostream>
using namespace std;
#define proudct(x) (x*x)
//int proudct(int x) {return x * x;}
int main()
{
int i = 3,j,k;
j = proudct(i++);
k = proudct(++i);
cout << j << endl;
cout << k << endl;
return 0;
}
请问下各位高手为什么我用#define proudct(x) (x*x)时,运行结果为9,49
而用int proudct(int x) {return x * x;}时,运行结果为9,25
请问高手如何理解这个程序。