ich suche nach einer lösung in dem ich einzelne string in unterschiedliche variablen kopiern kann aufgabe: die einzelnen wörter hier im satz "Wie ist dein Name:" trennen und in unterschiedliche arrays hinterlegen. so dass später die reihenfolge von den wörter verändert werden kann. ich schaffe es die wörter getrennt auszugeben aber nicht in unterschiedliche arrays zu kopieren. könnte mir da jemand helfen? const char satz[80] = { "Wie ist dein Name:" }; int i, j, a, b, c; char wort[10]; char worter[5][10] = {0}; printf("%s\n",satz); for(i=0; i<=50; i++) { if (satz[i] == ' ') { for(j=0, a=b; j<i-b; j++, a++) { wort[j] = satz[a]; }; wort[j] = '\0'; printf("%s\n",wort); strcpy(worter[c], wort); b=i+1; c++; } } return 0; }
oh gott Vielleicht erstmal ein C-Buch durchackern? Ansonsten: strtok() verwenden
Wenn du b und c nach auf 0 initilaisierst, bist du schon einen Schritt weiter. Allerdings solltest du noch berücksichtigen, dass bei dir nur ' ' als Wortende zulässig ist. Das "Name:" hat aber hinten nach kein ' ' mehr, welches es als Wort identifizieren würde. Und dann läuft dann natürlich noch deine for-Schleife auf Teufel komm raus durch. (Der ganze Ansatz ist nicht sehr gut. Überleg mal, ob du das anders hinkriegst: Du gehst durch den String durch und nimmst jeden Buchstaben, der da vorhanden ist als Teil des Wortes, es sei denn der Buchstabe ist ein ' ' (und noch ein paar andere, aber das kommt später): dann fängt ein neues Wort an.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.