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

What is the meaning of return value of isalpha (at other ctype.h functions)?

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

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

未指定 return 值,因为它可能会为常见实现节省几个周期 not 如果它不为零,则必须将其设置为 1 .例如,不等式测试可以实现为减法

#define NEQ(a,b) (a-b)

如果你需要在不等式上return 1,你需要做的不仅仅是减法。因此,not 坚持函数 return 1.

可能会更好

它 return 是一个整数值,如果字符是字母则为非零,否则为零。它 return 是一个 int 因为这是来自古代 C 的默认 return 值,并且它需要不必要的代码(没有什么好处)来限制值 returned 0 和 1,考虑到这些函数是要在条件下使用的。

您可能还注意到,所有这些函数的名称都短于或长达八个字符。这又是一个古老的 C 语言遗留下来的东西。函数名不能超过 8 个字符。