c - 使用 char 验证数据

标签 c if-statement char int do-while

我正在寻找一个有效的条件来检查用户是否正在写入字符。我尝试使用 (n!=char),但这在 C 中显然不可能,对吗?

这就是我所拥有的:

char n;
do
{
    printf("Introduce a caracter\n");
    scanf("%c", &n);
    if(n!=char)
        printf("Error! The caracter you introduced is not valid.\n");
}
while(n!=char);

return n;

最佳答案

由于您只需要字母,无论大小写,您可以在 if 语句中使用此条件进行检查。

if((n<'a' || 'z'<n) && (n<'A' || 'Z'<n))
    printf("Error! The caracter you introduced is not valid.\n");

这意味着:

如果“n”不在“a-z”之间且不在“A-Z”之间的字符反转中,则错误

您可以将字符视为存储的整数,考虑 de ascii chart .

关于c - 使用 char 验证数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349365/

相关文章:

c - 段错误或 SizeOf 未正确使用

c - 这个 char 数组返回未定义的行为吗?

C 编程 : Strange looking array declaration

java - 使用字符串的控制流结构的问题

python - 如何根据输入设置变量值?

c - 为什么 %c 打印 '?',它的含义是什么

c - 几个字符没有打印

c - 时钟功能如何在操作系统中工作?

c++ - 在开关盒内阻塞

java - 如果重新排列两个字符串,如何比较它们