Devi usare lo specificatore %c, dal momento che quello che stai cercando di stampare è un singolo carattere, non una stringa.
codice:
printf("Carattere n. %d = %c\n", i, nome[i]);
Tieni conto che dopo l'ultimo carattere effettivamente inserito nella stringa ti ritroverai il NUL e poi dei caratteri-spazzatura; non stupirti cioè se viene fuori una roba del tipo
codice:
Nome = Mattia
Carattere n. 0 = M
Carattere n. 1 = a
Carattere n. 2 = t
Carattere n. 3 = t
Carattere n. 4 = i
Carattere n. 5 = a
Carattere n. 6 =
Carattere n. 7 = è
Carattere n. 8 = ?
Carattere n. 9 = ^
P.S. il programma è stato compilato ed eseguito in ambiente AS400 (ma non credo che questo influisca).
Urca, ti tieni un AS400 in casa per provare i programmini in C?