strcmp restituisce 0 (non NULL!) se le due stringhe sono uguali, un valore negativo se la prima è minore della seconda, un valore positivo in caso contrario.

Dico "non NULL" non perché NULL possa essere diverso da 0, ma perché strcmp restituisce un intero, non un puntatore, e semanticamente ha senso un confronto con NULL solo se si parla di puntatori.