C-Kurs/concat: Unterschied zwischen den Versionen
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>, | + | -Schreibe eine Funktion <code>char* concat(char *string1, char *string2)</code>, der die übergebenen Zeichenketten mit einem Leerzeichen getrennt(!) 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 die Programmaufrufparameter (mindestens 2). Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben. | -(Zusatz) Konkateniere die Programmaufrufparameter (mindestens 2). Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben. |
Version vom 13. September 2011, 18:39 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(!) 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 die Programmaufrufparameter (mindestens 2). Gib den Speicher von Zwischenergebnissen immer wieder frei, sodass am Ende keine überflüssigen Speicherblöcke übrig bleiben.