Il programma non da piu errori in compilazione.
Non penso che tu avessi errori in compilazione ma semmai a runtime dato che avevi un "segmentation fault" ...

In secondo luogo, se vuoi imparare a programmare, per prima cosa devi imparare a fare il debugging dei tuoi programmi, cosa molto piu' importante anche della scrittura del codice ...

Dici che non fa quello che vuoi ...

Hai controllato linea per linea cosa succede ...?

In particolare, a cosa servono queste linee

while(s[cont]!='\n')
cont++;

e sei sicuro che facciano quello che ti aspetti?

Hai controllato il valore di cont (magari con una printf) dopo l'esecuzione di quelle linee?
Ti aspetti che sia 1 o 2 ma forse il suo valore e' diverso ... e perche'? Ma se vuoi ottenere il numero di cifre del numero, non ti basta usare la funzione strlen al posto di quelle righe ...?