Non ho guardato tutto il codice, ma la tua funzione è dichiarata per restituire un char (un carattere), mentre restituisce un array di caratteri.

Ripeto, non ho guardato la bontà dell'algoritmo.

Ciao.