Io guarderei il ciclo for con cui tu vorresti stampare lettera per lettera, in C ogni controllo iterativo cicla per vero, quindi logicamente è sbagliato, oltre al fatto che gli indici di un array di lunghezza N, vanno da 0 a N-1:

codice:
for (i = (unsigned long) strlen(stringa)-1; i >= 0; i--)