Why redeclaration of variable is allowed inside loop and if condition which are declared out side of loop or if condition already? : <pre><code>#include &lt;stdio.h&gt;

int main()
{
    int a=9;
    if(a&lt;10){
        int a = 20;
        ++a;
        printf("%d\n",a);
    }
    printf("%d\n",a);
}
</code></pre>

<p>Why redeclaration of a is allowed in loop and if condition here?<br>
Why can't we increment or decrement variable inside loop or if statement which are delclared outside of loop or if statement??</p>
