cosa vuol dire "non gira"? presumo che quel pezzo di codice si trovi in un ciclo. Dovresti postare più codice.
come vengono valorizzati "a" e "b"?
Fatti scrivere i valori di a e b per verificare