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.