有人告诉我,字符比较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')
不可移植吗?
有人告诉我,字符比较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
是十进制数字字符。
有任何证据证明 char 比较 if(c>='a' && c<='z')) 不可移植?
c = '~';
if (c>='a' && c<='z'))
{
printf("Yes\n");
}
将在 IBM 的 AS/400 中打印Yes
,因为在 EBCDIC 中,编码~
介于a
和之间z
。