Przykład
Wydaje się, że pierwsza instrukcja if sprawdza, czy argumenty są takie same, ale będzie wykonana tylko, gdy są one różne.

void foo( char *string1, char *string2)
{
if( strcmp(string1, string2) ) {
//łańcuchy są różne
}

if( !strcmp(string1, string2) ) {
//łańcuchy są takie same
}
}

Rozwiązanie
W celu uniknięcia takiego niezrozumienia, wytyczne dotyczące kodowania mogą wymagać, aby instrukcje if były zapisywane tak, jak poniżej.

void foo( char *string1, char *string2)
{
if(strcmp(string1, string2) != 0) {
//łańcuchy są różne
}

if( strcmp(string1, string2) == 0) {
//łańcuchy są takie same
}
}