偽との比較は全て動くが
真との比較が危険

if (isdigit('9') == 1) {
 printf("hoge\n");
}

これは環境によっては動かない

当然これは != 0 にするのが正しい
しかし果たしてこれは可読性が高いと言えるだろうか?
二重否定だし、それに真な時に != で比較して偽な時に == で比較する事になる