C-Kurs/concat: Unterschied zwischen den Versionen
| (Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
-Schreibe zunächst eine Funktion <code>int string_length(char* string)</code>, welche die Länge des übergebenen Strings zurückgibt. Benutze nicht <code>strlen</code> von C. Denke daran, dass Strings in C mit dem Character '\0' terminieren. | -Schreibe zunächst eine Funktion <code>int string_length(char* string)</code>, welche die Länge des übergebenen Strings zurückgibt. Benutze nicht <code>strlen</code> von C. Denke daran, dass Strings in C mit dem Character '\0' terminieren. | ||
| − | -Schreibe eine Funktion <code>char* concat(char *string1, char *string2)</code>, der die übergebenen Zeichenketten mit einem Leerzeichen getrennt (Character: ' ') konkateniert. Benutze dabei <code>malloc</code> (überlege genau, wieviel Speicherplatz du brauchst), gehe | + | -Schreibe eine Funktion <code>char* concat(char *string1, char *string2)</code>, der die übergebenen Zeichenketten mit einem Leerzeichen getrennt (Character: ' ') konkateniert. Benutze dabei <code>malloc</code> (überlege genau, wieviel Speicherplatz du brauchst), gehe zeichenweise vor und benutze keine String-Funktionen von C. |
Beispiel: Bei "Wort1" und "Wort2" soll als Ergebnis "Wort1 Wort2" geliefert werden. | Beispiel: Bei "Wort1" und "Wort2" soll als Ergebnis "Wort1 Wort2" geliefert werden. | ||
-(Zusatz) Konkateniere alle (bis auf den nullten) Programmaufrufparameter (mindestens 2) iterativ mit Hilfe deiner <code>concat</code>-Funktion. Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben. | -(Zusatz) Konkateniere alle (bis auf den nullten) Programmaufrufparameter (mindestens 2) iterativ mit Hilfe deiner <code>concat</code>-Funktion. Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben. | ||
Aktuelle Version vom 18. September 2014, 11:02 Uhr
In dieser Aufgabe soll eine Funktion geschrieben werden, welche zwei übergebene Zeichenketten konkateniert. Gehe dabei in folgenden Schritten vor:
-Schreibe zunächst eine Funktion int string_length(char* string), welche die Länge des übergebenen Strings zurückgibt. Benutze nicht strlen von C. Denke daran, dass Strings in C mit dem Character '\0' terminieren.
-Schreibe eine Funktion char* concat(char *string1, char *string2), der die übergebenen Zeichenketten mit einem Leerzeichen getrennt (Character: ' ') konkateniert. Benutze dabei malloc (überlege genau, wieviel Speicherplatz du brauchst), gehe zeichenweise vor und benutze keine String-Funktionen von C.
Beispiel: Bei "Wort1" und "Wort2" soll als Ergebnis "Wort1 Wort2" geliefert werden.
-(Zusatz) Konkateniere alle (bis auf den nullten) Programmaufrufparameter (mindestens 2) iterativ mit Hilfe deiner concat-Funktion. Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben.