有人告诉我字符比较 if(c>='a' && c<='z')
不便携。
例子
int main() {
char c;
scanf("%c", &c);
if(c>='a' && c<='z')
printf("lower case\n");
}
char比较if(c>='a' && c<='z')
的任何证明不便携?
最佳答案
C 标准不保证'a'
之间只出现小写字母和 'z'
在执行字符集中。
在EBCDIC编码中,'a'
之间还有其他字符和 'z'
,并且一些 C 实现使用 EBCDIC。
C 标准确实保证数字是连续的,所以 '0' <= d && d <= '9'
是否测试 d
是十进制数字字符。
关于c - 为什么 char comparison "if(c>=' a' && c< ='z' )"不可移植?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400009/