The static array a[] is initialized to 0. The statement a[i]=i++ where i=0 has undefined behavior in C (modifying and reading i in same expression), but in practice: a[0] is assigned 0, then i increments to 1. The output shows a[0]=0, a[1]=0 (unchanged static value), and i=1.