String umdrehen

Von: , Frage gestellt am Mi, 25. Jul 2007

Hallo Leute,
ich noch ein Newbie in Sachen C++, kann mir jemand sagen, was in diesem Code falsch ist, er funzt nicht!!??

#include <iostream> 
#include <iostream>
char add(char *s) 
{ 
int i,j = 0;
for(i=0, j=strlen(s)-1; i<j; i++, j--)
{
char c = s[i];
s[i] = s[j];
s[j] = c;
}
return s[j]; 
} 
int main() 
{ 
char *s = "Hallo";
char result;
result = add(s); 
std::cout << result << std::endl; 
system("pause");
} 



Danke im Voraus!!

4 Antworten zu dieser Frage

  1. Antwort von nach 39 Minuten 0 hilfreich
    Re: String umdrehen

    Hi Sanda, ich noch ein Newbie in Sachen C++, kann mir jemand sagen, was
    in diesem Code falsch ist, er funzt nicht!!??
    Auf die schnelle sieht der Code ganz ok aus. Was funktioniert denn nicht?

    Gruß
    Martin

  2. Antwort von nach 3 Stunden 0 hilfreich
    Re: String umdrehen

    ... gibt das keine Compiler Warnings?

    Vermutlich willst du sowas:

    #include <iostream>
    char* add(char *s) 
    { 
    int i,j = 0;
    for(i=0, j=strlen(s)-1; i<j; i++, j--)
    {
    char c = s[i];
    s[i] = s[j];
    s[j] = c;
    }  
    return s; 
    } 
    int main() 
    { 
    char *s = "Hallo";
    std::cout << add(s) << std::endl; 
    return 0;
    }


    Olli

    • Antwort von nach 18 Stunden 0 hilfreich
      Re^2: String umdrehen

      ... das Problem ist char *s = "Hallo";. Sofunktioniert es mit g++:

      int main() 
      { 
      char s[] = "Hallo";
      std::cout << add(s) << std::endl;
      return 0;
      }
      ... und das ohne Segmentation fault ... ;-)

      Grüsse
      Olli

      • Antwort von nach 19 Stunden 0 hilfreich
        Re^3: String umdrehen

        Hallo,

        jo danke Olli, das war es!!

        ;-)

        Gruss

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!