title: Assignment by product (multiplication assignment) with increment or decrement in C++?
body: <p>Why do we get different results for the two follow statements:</p>
  
  <pre><code>int x = 5;
  x = x * x++;
  </code></pre>
  
  <p>the output is 26; whereas the next example returns 30, though they are same?!</p>
  
  <pre><code>int x = 5;
  x *= x++;
  </code></pre>
  
  <p>Thank you</p>