title: Are the elements present after a designator initializes elements in strictly increasing manner?
body: <p>Here, I have initialized array like this :</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main() 
  {
      int a[10] = {1, 2, 3, [7] = 4, 8, 9};
  
      printf("a[7] = %d\na[8] = %d\na[9] = %d\n", a[7], a[8], a[9]);
  
      return 0;
  }
  </code></pre>
  
  <p><strong>Output :</strong> </p>
  
  <pre><code>a[7] = 4
  a[8] = 8
  a[9] = 9
  </code></pre>
  
  <p>Here, I have selected array index <code>7</code> as a <code>a[7] = 4</code> and thereafter added some elements. Then print array elements of index <code>7</code>, <code>8</code> and <code>9</code> and print correctly. </p>
  
  <p>So, Is it correct output of index <code>8</code> and <code>9</code> without explicitly defined it? 
  Why sequence does not start from index <code>3</code>?</p>