Stringfunktionen: Strings vergleichen ...Ergebnis ausgeben
-
Tomt0m schrieb:
string string1[20];
string string2[20];
string ergebnis[50];typedef char string; oder was soll das sein?
-
jap
-
Tomt0m schrieb:
jap
Ganz tolle Idee. Zeichenkette ist also ein Synonym für Zeichen?
-
ja das kann man ja schnell ändern
ich habs ja schon gemacht.....aber könntet ihr mir bei meinem problem helfen? mit den strings
-
Tomt0m schrieb:
aber könntet ihr mir bei meinem problem helfen? mit den strings
Du hast die Antwort doch längst erhalten.
-
ja mit strcmp....nur leider komm ich damit nicht klar ...finde nichts was 2 einzugebene strings vergleicht
-
Was hast Du denn bereits versucht?
finde nichts was 2 einzugebene strings vergleicht
Strcmp vergleicht zwei Strings.
-
Tomt0m schrieb:
ja mit strcmp....nur leider komm ich damit nicht klar ...finde nichts was 2 einzugebene strings vergleicht
strcmp vergleicht zwei Strings. Egal ob eingegeben oder nicht.
Wenn du weiterführende Hilfe brauchst, solltest du dein Problem etwas genauer beschreiben. Mit "leider komm ich damit nicht klar" kommen wir nicht weiter.
-
ok...sry...also ich habe 2. strings eingegeben
1. String "Hallo"
2.String "World"
diese strings sollen mit strcmd vergleichen werden und dann gemeinsam ausgegeben werden.
da ich mit strcmd noch nie gearbeitet habe habe ich keinen ansatzpunkt!
das ich was ich bisher hab:int strcmd(wort1, wort2); char wort1[20]; char wort2[20]; printf("Bitte 1. Wort eingeben: "); scanf("%s", &wort1); printf("Bitte 2. Wort eingeben: "); scanf("%s", &wort2); printf("Die eingegebenen Wörter ergeben: "); scanf("%s", &strcmd);
-
1. Wie kommst Du von strcmp auf atrcmd?
2. Der Prototyp oben ist falsch. Die Funktion bindest Du mit #include <string.h> ein.
3. Mit scanf liest Du etwas ein. Wenn Du das Ergebnis ausgeben möchtest, solltest Du dort evtl. auch printf nehmen.
4. strcmp ist eine Funktion, die ruft man auf indem man nach ihrem Namen im Klammern die Argumente angibt, die man zu übergeben wünscht.Davon abgesehen:
Beim Einlesen kannst Du das & weglassen. Wären wort1 und wort2 Zeiger, müsstest Du es sogar weglassen.Ein Tipp (aber nur einer ;)):
strcmp(wort1, wort2)
Dieser Ausdruck gibt einen int zurück, nämlich das Ergebnis des Vergleichs. Die Formatkennung vom printf wäre dafür "%d" (hups, das waren schon zwei).
-
ok danke hab deine tipps befolgt und kann es auch ausführen nur leider bekomm ich nicht das wort ausgegeben als den inhalt der strings sondern irgendeine komische zahl???
-
Tomt0m schrieb:
leider bekomm ich nicht das wort ausgegeben als den inhalt der strings sondern irgendeine komische zahl???
Dann hast du wohl einen String mit %d ausgegeben.
Zeig doch mal, wie die Ausgabe aussehen soll.
-
Tomt0m schrieb:
ok danke hab deine tipps befolgt und kann es auch ausführen nur leider bekomm ich nicht das wort ausgegeben als den inhalt der strings sondern irgendeine komische zahl???
Du wolltest ja auch zwei Strings vergleichen. Die komische Zahl wird das Vergleichsergebnis sein. Mal anders gefragt: Was erwartest Du denn wie Dein Vergleichsergebnis aussehen sollte?
-
ja ich dachte mir das so:
1.String "Hallo"
2.String "World"
strcmp(1.String,2.String)Ausgabe:
Die eingegebenen Wörter ergeben: Hallo World
-
Nur mal aus Neugier: Was hat das mit dem Terminus "vergleichen" zu tun?
-
LordJaxom schrieb:
Nur mal aus Neugier: Was hat das mit dem Terminus "vergleichen" zu tun?
Das frage ich mich auch gerade.
Tomt0m, wenn du einfach nur die Strings hintereinander ausgeben willst, wozu brauchst du dann einen Vergleich?
-
es hat sich erledigt...danke für dich hilfe....hab die aufgabe des programms missverstanden und hab das programm jeze so geschrieben wie es sein sollte...sry