ちょっと待て、strcmpは"0"か"正"か"負"を返すのであり、"数"を返すわけでは無い
strcmpの返す値を、"0"より"大きい"のか"小さい"のか"等しい"のかで比べる以外に使用するのはナンセンスだろ

また、Cの場合、intが整数型だから、返ってくる値が、整数だなんて思うのはとんでもない誤解
Cにはboolenは無く、bool値の定義は、「0以外は真である」となっている

故に、文字列が等しいのか等しくないのかを判断するのに、not演算子を使うのは妥当(数に意味が無いのであれば、boolと同じ)