Ah per le dimensioni di result non c'è un modo per sapere esattamente quanto spazio occorra a mio parere... la cosa migliore è allocare lo spazio necessario per il caso peggiore, ossia quello in cui la parola contiene tutti caratteri doppi, tipo "aabbccdd"..

Quindi direi di fare:

codice:
char result [(strlen(nome) / 2) + 1];