title: Is there a good reason for always enclosing a define in parentheses in C?
body: <p>Clearly, there are times where <code>#define</code> statements must have parentheses, like so:</p>
  
  <pre><code>#define WIDTH 80+20
  
  int a = WIDTH * 2; // expect a==200 but a==120
  </code></pre>
  
  <p>So I always parenthesize, even when it's just a single number:</p>
  
  <pre><code>#define WIDTH (100)
  </code></pre>
  
  <p>Someone new to C asked me why I do this, so I tried to find an edge case where the absence of parentheses on a single number <code>#define</code> causes issues, but I can't think of one.</p>
  
  <p>Does such a case exist?</p>