| 

.NET C# Java Javascript Exception

1
Hallo,

habe das Beispiel zwar schon gelösst mit char *alt, char*neu. Würde es aber auch gerne hinbekommen wenn ich 2 chars übergebe.

void ersetze_zeichen(char *s,char alt,char neu)
{
int i = 0;
while(s[i] == '\0')
{
if (s[i] == alt)
{
s[i] = neu;
}
i++;

}
}

int main(void) {

char feld[100] = "";
gets(feld);
ersetze_zeichen(feld,'l','m');
printf("%s\n",feld);
return EXIT_SUCCESS;
}


Er ersetzt mir aber nicht die Zeichen.
20.11.2013
Blackstore 113 5
Ich hab das Code-Beispiel mal noch so angepaßt, daß es richtig angezeigt wird (also [i] durch \[i] ersetzt).
Matthias Hlawatsch 20.11.2013
1 Antwort
1
Ich sehe gerade 2 Fehler:

    while(s == '\0') dürfte immer false sein, die schleife wird also nicht durchlaufen.
    Die Zählvariable i wird nicht verwendet.


Es sollte eher so aussehen (Irrtum vorbehalten, bin nicht mehr Sattelfest in C ;-)

while(s[ i ] != '\0')
{
if (s[ i ] == alt)
{
s[ i ] = neu;
}


Update:
habe gerade gemerkt, dass Du wahrscheinlich das gleiche Problem mit dem [ i ] hattest, deshalb wahrscheinlich nur die falsche Überprüfung.
20.11.2013
Roland Bär 335 6
danke. :) genau ... ungleich nicht gleich. Kopfkratz.
Blackstore 20.11.2013

Stelle deine C-Frage jetzt!