Repeat Programm in C

jack_1

Mitglied
Hi, ich habe versucht ein C Programm zu schreiben welchen den Inhalt eines Strings vervielfältigt.
Ich habe gebe Beispielsweiße "3 Test" ein und es sollte so was rauskommen: "TestTestTest"

Aber bei mir kommt da "3 Test 3 Test 3 Test" heraus. Kann mir jemand sagen was ich da falsch gemacht habe? Danke :)

C:
#include<stdio.h>
#include<conio.h>
#include<string.h>


char* repeat(char *s,int n)
{
char *c;
char *e;

if(n==0)
{
   return "";
}

if(n==1)
{
   c=strcpy(c,s);
   return c;
}

if(n>1)
{

e=repeat(s,n-1);

e=strcat(e,s);
return e;
}

}


void main()
{
   char str[]="3 Test ";
   char *b;
   b= repeat(str,3);
   printf("%s",b);


getch();

}
 

LimDul

Top Contributor
Naja aktuell übergibst du an deine repeat Methode den kompletten String. Und die 3, die du an die Repeat Methoe übergibtst hat nix mit der 3 aus dem String zu tun. Die hart kodiert in deinem Code.

* Was du tun musst den String str splitten an der Stelle des ersten Leerzeichen
* Den ersten Teil in eine Zahl umwandeln
* An deine repeat Methode den zweiten Teil + die umgewandelte Zahl übergeben
 

Ähnliche Java Themen

Neue Themen


Oben