title: Can code that is valid in both C and C++ produce different behavior when compiled in each language?
body: <p>C and C++ have many differences, and not all valid C code is valid C++ code.<br>
  (By "valid" I mean standard code with defined behavior, i.e. not implementation-specific/undefined/etc.)</p>
  
  <p>Is there any scenario in which a piece of code valid in both C and C++ would produce <em>different</em> behavior when compiled with a standard compiler in each language?</p>
  
  <p>To make it a reasonable/useful comparison (I'm trying to learn something practically useful, not to try to find obvious loopholes in the question), let's assume:</p>
  
  <ul>
  <li>Nothing preprocessor-related (which means no hacks with <code>#ifdef __cplusplus</code>, pragmas, etc.)  </li>
  <li>Anything implementation-defined is the same in both languages (e.g. numeric limits, etc.)</li>
  <li>We're comparing reasonably recent versions of each standard (e.g. say, C++98 and C90 or later)<br>
  If the versions matter, then please mention which versions of each produce different behavior.</li>
  </ul>