error: la función devuelve la dirección de la variable local
Soy principiante con C y estoy aprendiendo por mi cuenta. Estoy creando la siguiente función:
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 ...
}
Básicamente estoy tratando de devolver una cadena anexada, pero recibo el siguiente error:
"error: la función devuelve la dirección de la variable local", alguna sugerencia, ¿cómo solucionarlo?