title: How to disable GNU C extensions?
body: <p>As you can see in the following code, I've introduced a nested function within <code>main()</code>:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(){
   int a=5;
   printf("%d\n",a);
   {
    int a=10;
    printf("%d\n",a);
   }
   printf("%d\n",a);
  
   //Nested function
   int main(int a){
   if(a&gt;0)printf("%d\n",a--);
   return 0;
   }
  
   main(7);
   return 0;
  }
  </code></pre>
  
  <p>As far as I could understand I used the <code>-std=c99</code> flag in gcc to "disable" the unnecessary extensions, but I did not get any error.</p>
  
  <p><code>gcc temp3.c -std=c99 -o temp3.out</code></p>
  
  <p>Where have I made the mistake?</p>