Programmieren in C < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | Schreiben Sie eine Funktion repeat welche den Inhalt eines Strings vervielfältigt.
Der folgende Code sollte z.B. TestTestTest am Bildschirm ausgeben:
char str[1024] = "Test ";
repeat(str, 3);
[mm] printf("%s\n", [/mm] str); |
Wie kann ich denn in C meine Funktion so umschreiben dass der String 3 mal hintereinander ausgegeben wird? Denn mein Skript gibt es nur einmal aus
Hier wäre meine Funtkion mit dem main Anteil.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * repeat( const char * str, int n ) {
[mm] size_t [/mm] slen = strlen(str);
char * dest = malloc(n*slen+1);
int i; char * p;
for ( i=0, p = dest; i < n; ++i, p += slen ) {
memcpy(p, str, slen);
}
*p = [mm] '\0';
[/mm]
return dest;
}
int main() {
char str[1024] = "Test";
repeat(str, 3);
[mm] printf("%s\n", [/mm] str);
}
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:20 Mo 01.02.2021 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|