El problema es que estas devolviendo un puntero a una variable local, la memoria que corresponde a esa variable es liberada al terminar. Y aunque mantiene parte de la informacion que contenia durante un poco de tiempo, aparecen caracteres estraños y va siendo reemplazada por el contenido de otras variables.
|