Имеется самописная функция, возвращающая указатель на символьный тип. Вопрос: почему, используя функцию printf(), нельзя распечатать строку, на начало которой указывает результат самописной функции; при этом почему вывод строки, на начало которой указывает глобальная переменная p, в отличие от предыдущей ситуации, происходит без ошибок?
| Код | #include <stdio.h>
char *strpart(char *str, ...);
int main(int argc, char *argv[]){
char *p="test"; printf("%s ",strpart(argv[1], ...)); // тут строка не выводится printf("%s",p); // строка выводится return 0; };
char *strpart(char *str, ...){ ... char resultstr[count]; for ( ;i<count;i++ ) resultstr[i]=str[i+1]; return resultstr; };
|
|