?
du kannst den neuen string mit static initialisieren (bzw. auch global, wobei das mit den globalen Variablen immer so eine Sache ist). Alternativ: Viele Ein- und Ausgabefunktionen benötigen einen puffer (also zeiger auf char) als zusätzlichen parameter. der zeiger wird dann in main() initialisiert und innerhalb der funktion verändert, statt ihn erst innerhalb der funktion zu erzeugen.
PS: puts() gibt einen kompletten String auf dem Bildschirm aus.
#include <stdio.h>
#include <string.h>
char *split(const char *string, char whereToSplit)
{
static char newString[100];
//mach was solange arrayende nicht erreicht
for (int i=0;i<strlen(string);i++)
{
//fuelle neuen array auf
newString[i] = string[i];
if(string[i] == whereToSplit)
break;
}
return newString;
}
int main()
{
char string[] = "abcdefghij";
char *pointer=split(string, 'e');
//printe Array-Elemente solange Array-Ende nicht erreicht
while(*pointer)
{
printf("%c \n", *pointer);
pointer++;
}
return 0;
}