Non è proprio così....
intanto il ciclo va bene così, se metti
for(a=0;a<=4;a++)
accedi a una posizione di memoria che non è allocata (a[4])
volendo puoi fare
for(a=0;a<4;a++)
Inoltre nella printf non incrementi le variabile a ed x, solo
visualizzi il loro valore +1, ecco perchè ti viene quell'output.
ciao