Originariamente inviato da Rising1
a parte gli scherzi, subito noto un errore in

char *frase = "forza la juve la juve";

frase è solo un puntatore, ma tu non allochi lo spazio necessario a contenere quella stringa, prova con
La dichiarazione è corretta. La stringa "forza la juve la juve" viene allocata staticamente in memoria e ne viene assegnato l'indirizzo al puntatore "frase". Quello che non può fare è, al massimo, modificare la stringa a runtime.

Il problema è proprio l'algoritmo che non fa niente di quello che dovrebbe fare.