【发布时间】:2015-12-12 02:04:27
【问题描述】:
对于我正在编写的程序,我需要使用scanf() 仅扫描介于 0-9、A-Z 和 a-z 之间的字符。
我想我可以使用一些不错的比较运算符来帮助我实现目标。例如,也许这可以工作:
int i = 3;
char a[7] = {'a', 'b', 'c', '?', 'e', 'f', '\0'};
if (!(a[i] >= '0' && a[i] <= '9') && !(a[i] >= 'A' && a[i] <= 'Z') && !(a[i] >= 'a' && a[i] <= 'z'))
printf("not 0-9. A-Z, or a-z!\n");
换句话说,如果a[i] 中的字符不是数字或字母,则打印该语句。但是,那没有用。有其他选择吗?
【问题讨论】:
-
检查 C 标准库怎么样。以
ctype.h开头。
标签: c logic boolean-logic