Hallo und schönen Sonntag an alle.

Ich will ein kleines Programm schreiben mit dem man einen Text ver- bzw- entschlüsseln kann.

Code:
#include <stdio.h>
#include <stdlib.h>

int main (void)
{

char a, textv[21], texte[21], schluessel[21], beenden;



printf("Dies ist ein Programm zur Ver- und Entschlüsselung eines Textes.");

printf ("Wollen Sie verschlüsseln(v) oder entschlüsseln(e)?");

scanf ("%c", &a);

switch (a)
{
case 'v': 
          printf ("Sie möchten verschlüsseln.");
          printf ("Bitte geben Sie Ihren Text ein:");
          getchar();
          gets (textv);
          printf ("Text:%s\n",textv);
          printf ("Bitte geben Sie das Schlüsselwort ein (nicht mehr als 20 Zeichen):\n");
          getchar();
          gets (schluessel);
          printf ("Ihr Schlüsselwort:%s\n",schluessel
      
          getchar();
          break;
So weit so gut.

Beim zweiten gets (Schlüssel) wird meine Eingabe eingelesen und danach auch wieder ausgegeben, mit einem Fehler: Es fehlt immer der 1. Buchstabe.
Dadrüber wird genau dasselbe gemacht, einlesen, ausgeben, und da funktioniert das Ganze wunderbar. Habt ihr eine Idee warum es ein paar Zeilen weiter nicht mehr klappt?

Vielen Dank im Voraus,
Enomis