#include <iostream>
using namespace std;
void print(int i, int j)
{
cout<<i<<endl;
cout<<j<<endl;
}
void main()
{
int i=0;
print(i,i++);
}
观察上述代码,常规思维下,print()的输出应该为0和0,但是实际输出为1,0
在VS2010中,对形参的调用是从右到左调用,并压入栈中,也就是先将i++压入栈底,然后将i压入栈,这样i的值由0变为了1.