#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.