Сообщение об ошибке не требует пояснений.
printf()
возвращает int
, его нельзя присвоить переменной типа char*
.
Сказано, что у вас есть несколько других проблем:
- В операторе возврата используется переменная области видимости блока, которая находится за пределами ее области действия.
- В операторе возврата отсутствует синтаксис
;
- ошибка.
Чтобы исправить код, вам нужно сделать следующее:
- Выделить буфер достаточно долго, чтобы сохранить окончательный вывод. (Определите указатель и используйте выделенную память, используя
malloc()
или семейство достаточного размера) - Используйте
sprintf()
, чтобы заполнить память требуемым выводом. - Вернуть указатель.
- Как только вы закончите с этим,
free()
возвращенный указатель.