io direi di togliere la condizione a != *b (che è inutile) nel while perchè sennò se sono uguali esce dal ciclo prima di fare (a == b[i]) con il suo return