title: why does this print? (C language)
body: <p>Why does the following code run the while loop? I thought "mid = term" is an assignment, not a condition? Please explain. Thanks.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  main ()
  {
      int mid = 4, term = 4;
  
      while ( mid = term)
      printf("%d\n", --term);
  }
  </code></pre>