ошибка: функция возвращает адрес локальной переменной
Я начинаю с C, и я учусь самостоятельно. Я создаю следующую функцию:
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 ...
}
Я в основном пытаюсь вернуть добавленную строку, но я получаю следующую ошибку: "
ошибка: функция возвращает адрес локальной переменнойкакие-нибудь предложения, как это исправить?