防止输入是某些字符

preventing an input from being certain characters

我的代码中的逻辑不正确。除了 A-Z、a-z、1-9 和 _,我不希望用户输入任何内容。我不知道我做错了什么!基本上,如果用户输入的不是那些字符,它会打印出一个错误。 这是我的部分代码:

            if(((outname[i]<'a'||outname[i]>'z')&&(outname[i]<'A'||outname[i]>'Z')&&(outname[i]<'0'||outname[i]>'9'))&&(outname[i]!='_')){
                    if (count_attempts>1){

也许你想做这样的事情:

    if( (str[i]>='a') && (str[i] <= 'z') ||
        (str[i]>='A') && (str[i] <= 'Z') ||
        (str[i]>='0') && (str[i] <= '9') ||
        (str[i] =='_') )
        printf("TRUE\n");
    else
        printf("FALSE\n");