Hallo,
char eingabe[80] = ""; // Eingabepuffer
char zeichen[2] = ""; // Wozu ist diese Variable da?
char ergebnis[80]= ""; // Ausgabepuffer
int i = 0; // Zählvariable
char zeichentabelle;
zeichentabelle["a"] = "1";
zeichentabelle["b"] = "2";
zeichentabelle["c"] = "3";
// Du hast offensichtlich keinen blassen Schimmer davon, was Du in
// der Schleife tun willst. Ich verstehe es überhaupt nicht.
// Meine Idee wäre:
// Verarbeite die Zeichen des Eingabepuffers zeichenweise.
// Höre beim Ende auf. Das ist nicht bei 80, das kann früher sein
// Für jedes Zeichen im Eingabepuffer
// Ermittle das entsprechende Ersetzungszeichen
// Hänge das Ersetzungszeichen an den Ausgabepuffer an
// Ende Für
// Sorge für die Terminierung des Ausgabestrings (Null-Byte am Ende einfügen
for(i=0; i<80; i++)
{
// Wenn Du einzelne Zeichen verarbeitest, dann benötigst Du
// *nicht* strcpy. Da ist direkter Zugriff möglich
strcpy(zeichen, eingabe[i]);
// Zeiger hast Du überhaupt nicht verstanden.
// Die Adresse eines Zeichens dürfte auf 32-Bit-Systemen 4 Byte,
// auf 64-Bit-Systemen 8 Byte groß sein. Das ist *kein* Wert.
// Du möchtest auf den Wert zugreifen.
strcpy(zeichen, zeichentabelle[&zeichen]);
// Argh, was machst Du da überhaupt?
strcat(ergebnis, &zeichen);
}
Es ist schon rekordverdächtig, wieviele Fehler Du eingebaut hast.
Freundliche Grüße
Vinzenz