Exemplo
A primeira instrução if pode aparecer para verificar se os argumentos são os mesmos, mas só será bem-sucedida se eles forem diferentes.

void foo( char *string1, char *string2)
{
if( strcmp(string1, string2) ) {
//as cadeias são diferentes
}

if( !strcmp(string1, string2) ) {
//as cadeias são as mesmas
}
}

Solução
Para evitar esse equívoco, uma orientação sobre codificação pode requerer que as instruções if sejam gravadas como abaixo.

void foo( char *string1, char *string2)
{
if(strcmp(string1, string2) != 0) {
//as cadeias são diferentes
}

if(strcmp(string1, string2) == 0) {
//as cadeias são as mesmas
}
}