title: Are global variables always initialized to zero in C?
body: <pre><code>#include &lt;stdio.h&gt;
  int a[100];
  int main(){
      printf("%d",a[5]);
      return 0;
  }
  </code></pre>
  
  <p>Does the above code always print '0' or is it compiler specific? I'm using gcc compiler and I got the output as '0'.</p>