title: Redeclaration Error
body: <p>I have understood the difference between declaration and definition 
  And I was practicing some question when I hit the doubt, the below code asked me to list out the error in the snippet. </p>
  
  <pre><code>f(int a,int b)
  {
       int a;
       a=20;
       return a; 
  }
  </code></pre>
  
  <p>Why does this gives re-declaration error of <code>a</code>?
  Shouldn't it give multiple definition of <code>a</code> because in:</p>
  
  <ul>
  <li><code>f(int a,int b)</code> — here <code>a</code> is defined right?</li>
  <li>and in the function body, <code>int a</code> is defined again?</li>
  </ul>
  
  <p>So why not multiple definition error?</p>