title: Confused by squaring macro SQR in c
body: <p>This question was asked to me in a mock interview...Really got surprised to find awkward answers...</p>
  
  <p>consider a macro:</p>
  
  <pre><code>#define SQR(x) (x*x)
  </code></pre>
  
  <p><strong>Example 1:</strong></p>
  
  <pre><code>SQR(2) //prints 4
  </code></pre>
  
  <p><strong>Example 2:</strong></p>
  
  <p>If SQR(1+1) is given it doesn't sum <code>(1+1)</code> to <code>2</code> but rather ...</p>
  
  <pre><code>SQR(1+1) //prints 3
  </code></pre>
  
  <p>Awkward right? What is the reason? How does this code work?</p>
  
  <p>NOTE: I searched SO but couldn't find any relevant questions. If there are any kindly please share it!</p>