Intanto la variabile 'primo' deve essere inizializzata altrimenti il suo valore è casuale.

Poi, ad esempio nel caso del valore 8, quando dividi per 2 e ti accorgi che è divisibile e primo diventa 0, perché continui il ciclo??