Hallo Zusammen,
mein Programm soll einfach nur bei einer eingegebenen Zeichenkette einen frei wählbaren Buchstaben durch einen anderen ersetzen.
Den alten Buchstaben kann ich ganz einfach auswählen, aber der Neue wird irgendwie übersprungen. Wäre nett wenn ihr mir helfen könntet.
Hier der Code
mein Programm soll einfach nur bei einer eingegebenen Zeichenkette einen frei wählbaren Buchstaben durch einen anderen ersetzen.
Den alten Buchstaben kann ich ganz einfach auswählen, aber der Neue wird irgendwie übersprungen. Wäre nett wenn ihr mir helfen könntet.
Hier der Code
Code:
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 80
void tausch(char *, char, char);
int main()
{
char s[MAX_LENGTH], alt, neu;
printf("Geben Sie eine Zeichenkette ein: ");
gets(s);
printf("\nGeben Sie an welcher Buchstabe ausgetauscht werden soll: ");
scanf("%c", &alt);
printf("Geben Sie nun an, mit welchem er getauscht werden soll: ");
scanf("%c", &neu); // <-- Hier wird scanf() ausgelassen
printf("\n\n\n");
tausch(s, alt, neu);
getchar();
}
void tausch(char *s, char alt, char neu)
{
int i;
for(i=0; i<=strlen(s); i++)
{
if (s[i] == alt)
{
s[i] = neu;
}
}
printf("%s", s);
}