问几个简单的问题
下面几个宏是从ctype.h中复制的:程序代码:
#define _UPPER 0x0001 #define _LOWER 0x0002 #define _DIGIT 0x0004 #define _SPACE 0x0008 /* HT LF VT FF CR SP */ #define _PUNCT 0x0010 #define _CONTROL 0x0020 #define _BLANK 0x0040 /* this is SP only, not SP and HT as in C99 */ #define _HEX 0x0080 #define _LEADBYTE 0x8000 /****************************************/ //下面是问题 islower('a') == islower('b') == _LOWER //值为 2 isupper('A') == islower('B') == _UPPER //值为 1 isalnum('a') == _LOWER ,isalnum('A')== _UPPER // 我想问的就是这样设计有什么好处? 比如说isalnum怎么不设计成: 如果 x是字母或者是数字,isalnum(x)直接返回1,否则返回0.