Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

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 Zeichenweise vor und benutze keine String-Funktionen von C.  
+
-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.