title: Assignment operator to assign expressions separated by comma in C++98 to a variable does not assign
body: <p>Using Android Marshmallow CppDroid app, which uses C++98 but supports some C++11. </p>
  
  <p>I'm following a C++ course, and I'm confused by the output of the following:</p>
  
  <pre><code>int a=0, b=0, c=0;
  std::cout &lt;&lt; "a:" &lt;&lt; a &lt;&lt; '\n' &lt;&lt; "b:" &lt;&lt; b &lt;&lt; '\n' &lt;&lt; "c:" &lt;&lt; c &lt;&lt; '\n';
  // output is 
  // a:0
  // b:0
  // c:0
  a = b++, c++
  std::cout &lt;&lt; "a:" &lt;&lt; a &lt;&lt; '\n' &lt;&lt; "b:" &lt;&lt; b &lt;&lt; '\n' &lt;&lt; "c:" &lt;&lt; c &lt;&lt; '\n';
  // Output is 
  // a:0
  // b:1
  // c:1
  </code></pre>
  
  <p>I'm confused as to why the assignment operator did not assign the value of <code>c++</code> to <code>a</code>. </p>
  
  <p><strong>EDIT</strong></p>
  
  <p>As noted by the comment by @molbdnilo, this is not a matter of precedence, but rather a matter of the values equaling <code>0</code> because of the increment operator <code>c++</code> used instead of <code>++c</code>.</p>
  
  <pre><code>int a=0, b=0, c=0;
  cout&lt;&lt;"a:"&lt;&lt;a&lt;&lt;'\n'&lt;&lt;"b:"&lt;&lt;b&lt;&lt;'\n'&lt;&lt;"c:"&lt;&lt;c&lt;&lt;"\n\n";
  // output is 
  // a:0
  // b:0
  // c:0
  a = ++b,++c;
  cout&lt;&lt;"a:"&lt;&lt;a&lt;&lt;'\n'&lt;&lt;"b:"&lt;&lt;b&lt;&lt;'\n'&lt;&lt;"c:"&lt;&lt;c&lt;&lt;"\n\n";
  // output is 
  // a:1
  // b:1
  // c:1
  </code></pre>