isalpha 的返回值(在其他 ctype.h 函数中)是什么意思?

Osa*_*imy 3 c ctype isalpha

如果字符不是字母,则返回值isalpha()是,0如果是字母则返回非零值。许多其他ctype.h库函数也是如此。

这个函数的返回类型有什么意义吗?
换句话说,为什么不简单地返回1字母字符呢?
我用谷歌搜索并没有找到任何答案。

Ctx*_*Ctx 5

未指定返回值,因为如果它不为零,它可能会为常见实现节省一些周期,而不必将其设置为 1。例如,不等式测试可以实现为减法

#define NEQ(a,b) (a-b)
Run Code Online (Sandbox Code Playgroud)

如果你需要它1在不等式上得到回报,你必须做的工作不仅仅是减法。因此,坚持要求函数返回 1可能会更好。