title: Undefined behavior and sequence points
body: <p>What are &quot;sequence points&quot;?</p>
  <p>What is the relation between undefined behaviour and sequence points?</p>
  <p>I often use funny and convoluted expressions like <code>a[++i] = i;</code>, to make myself feel better. Why should I stop using them?</p>
  <p>If you've read this, be sure to visit the follow-up question <em><a href="https://stackoverflow.com/questions/4638364">Undefined behavior and sequence points reloaded</a></em>.</p>
  <sub>
  <i>(Note: This is meant to be an entry to <a href="https://stackoverflow.com/questions/tagged/c++-faq">Stack Overflow's C++ FAQ</a>. If you want to critique the idea of providing an FAQ in this form, then <a href="https://meta.stackexchange.com/questions/68647/setting-up-a-faq-for-the-c-tag">the posting on meta that started all this</a> would be the place to do that. Answers to that question are monitored in the <a href="https://chat.stackoverflow.com/rooms/10/c-lounge">C++ chatroom</a>, where the FAQ idea started out in the first place, so your answer is very likely to get read by those who came up with the idea.)</i>
  </sub>