error: funkcja zwraca adres zmiennej lokalnej
Jestem początkujący z C i uczę się sam. Tworzę następującą funkcję:
char *foo(int x){
if(x < 0){
char a[1000];
char b = "blah";
x = x - 1;
char *c = foo(x);
strcpy(a, b);
strcat(a, c);
return a;
}
blah ...
}
W zasadzie próbuję zwrócić dołączony ciąg, ale pojawia się następujący błąd:
„błąd: funkcja zwraca adres zmiennej lokalnej”, wszelkie sugestie, jak to naprawić?