簡體   English   中英

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

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

如果字符不是字母,則isalpha()的返回值是0如果是字母則是非零。 許多其他ctype.h庫函數也是如此。

這個函數的返回類型有什么意義嗎?
換句話說,為什么不簡單地為字母字符返回1呢?
我用谷歌搜索並沒有找到任何答案。

未指定返回值,因為如果它不為零,它可能會為常見實現節省一些周期,而不必將其設置為 1。 例如,不等式測試可以實現為減法

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

如果你要求它在不等式上返回1 ,你必須做的工作不僅僅是減法。 因此,堅持要求函數返回 1 可能會更好。

如果字符是字母,則返回一個非零整數值,否則返回零。 它返回一個int值,因為這是古代 C 的默認返回值,並且考慮到這些函數旨在用於條件,因此需要不必要的代碼(幾乎沒有好處)將返回值限制為 0 和 1。

您可能還注意到,所有這些函數的名稱都短於或長於八個字符。 這又是古代 C 的遺物。函數的名稱不能超過 8 個字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM