Funktion Ein Zeichen ersetzten



  • 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.



  • Bullz schrieb:

    Er ersetzt mir aber nicht die Zeichen.

    Bau doch mal ein paar printf() ein, um zu beobachten, ob und wie Dein Algorithmus den String bearbeitet.



  • Der Computer macht, was du ihm sagst und nicht was du meinst.

    Die Bedingung von der while-Schleife muss wahr sein, damit sie durchlaufen wird.



  • thx, hab mich vertan mit dem == und =!

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

Anmelden zum Antworten