Taking an intro c++ class, and the professor today was talking about loops, increments, and decrements.  so we were examining how many times a simple do-while loop would run, and I noticed that during the output of the following code, the int y is displayed first as a 2, however the postfix-notation for increments is used first and, according to my professor, is also given precedence(like in the x variable displayed).  so why is y not first displayed as: "1 3" in the output window? 
probably a very simple answer, but he did not know immediately, and asked us to see if we can find out. we were using dev c++'s newest version.
#include <iostream>
using namespace std;
int main()
{
    int x=1;
    int y=1;
    do
    {
        cout << "x: " << " " << ++x << " " << x++ << endl;
        cout << "y: " << " " << y++ << " " << ++y << endl;
    }while(x<=10);
    return 0;
}
if you run it, the display will look like this:
x:  3 1
y:  2 3
x:  5 3
y:  4 5
x:  7 5
y:  6 7
x:  9 7
y:  8 9
x:  11 9
y:  10 11
with my limited understanding i came up with this: 
since there are multiple increment operations used in the same statement, they are both performed before the cout statement displays the information to the console.
but looking for maybe a more precise answer/explanation
 
     
    