! -> Not

quindi
Not 0 -> 1 -> true
Nella strcmp: !strcmp(str1, str2) è equivalente a strcmp(str1, str2) == 0
Not false -> true
è una negazione logica che serve a far continuare il ciclo.