Du gibst auch den null-Terminator aus, statt
Code:
for (int i = 0; i < 21; ++i)
würde ich
Code:
for (int i = 0; i < strlen(eingabe); ++i)
verwenden. Sollte das nicht erlaubt sein: Probier mal, 20 statt 21 zu verwenden.
Ansonsten könnte es evtl. auch am printf liegen? " %c " hat vorne und hinten ein Leerzeichen, ist das Absicht?