gpt4 book ai didi

c - 如何检查密码是否包含 C 语言字母

转载 作者:行者123 更新时间:2023-11-30 20:09:54 24 4
gpt4 key购买 nike

我编写了一个 C 程序来检查密码是否包含大写字母、数字和字母,我想知道一种更有效地执行此操作的方法?因为在我在每个 if 语句中编写的代码上我有 5 个 if OR

#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main(void)
{
char password[7];
scanf("%s",password);
int len;
len=strlen(password);
int x=0;
if (len<6)
{
puts("password too short");
}
else if (len>6)
{
puts("password too long");
}

if (isalpha(password[0]) || isalpha(password[1]) || isalpha(password[2]) || isalpha(password[3])||isalpha(password[4]) || isalpha(password[5]));
else
{
printf("no alpha found\n");
}

if (isupper(password[0]) || isupper(password[1]) || isupper(password[2]) || isupper(password[3])||isupper(password[4]) || isupper(password[5]));
else
{
printf("no uppercase found\n");
}

if (isdigit(password[0]) || isdigit(password[1]) || isdigit(password[2]) || isdigit(password[3])||isdigit(password[4]) || isdigit(password[5]));
else
{
printf("no number found");
}
}

最佳答案

类似的东西

int has_upper = 0;
int has_digit = 0;
for (const char* s = password; *s; ++s){
has_upper |= isupper(s);
has_digit |= isdigit(s);
// etc
}

应该允许它非常干净地弹出。

关于c - 如何检查密码是否包含 C 语言字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com