Some code like this below:
int x = 1;
printf("%d,%d,%d",x,x++,x); //A statement
cout<<x<<x++<<x<<endl; //B statement
I know the execute sequence is from right to left,while why A statement result is "1,1,1" and B statement result is "112"???
I use vs2008 with debug mode : the result is same: 2,1,2. with release mode: the result is different: A: 1,1,1, B:1,1,2