title: Null termination of char array
body: <p>Consider following case:</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  int main()
  {
      char A[5];
      scanf("%s",A);
      printf("%s",A);
  }
  </code></pre>
  
  <p>My question is if char <code>A[5]</code> contains only two characters. Say "ab", then <code>A[0]='a'</code>, <code>A[1]='b'</code> and <code>A[2]='\0'</code>.
  But if the input is say, "abcde" then where is <code>'\0'</code> in that case. Will <code>A[5]</code> contain <code>'\0'</code>?
  If yes, why? 
  <code>sizeof(A)</code> will always return 5 as answer. Then when the array is full, is there an extra byte reserved for <code>'\0'</code> which <code>sizeof()</code> doesn't count?</p>