我是一名学生,并且我目前在学习C时没有太多编程经验,我一直在尝试创建一个程序来接收用户的“密码”,然后继续检查密码是否至少具有一个字母,数字和特殊字符。我写了一些代码,但在努力寻找问题所在时却没有得到预期的结果。
如果我输入“只是数字”密码或“只是特殊字符”,则返回“您错过了一个字母”就可以了
如果我输入的是“只是字符”密码,它不会返回任何内容,对于包含所有3个字符的普通密码一样。
那是代码:
int main()
{
char a[20];
int b = 0 ,c = 0,d=0;
printf("Please type your password and make sure it contains a letter a number and a special character:");
scanf("%s",a);
while(b<=20){
if(isalpha(a[b])){
break;
while(c<=20){
if(isdigit(a[c])){
break;
while(d<=20){
if(isalpha(a[d]) || isdigit(a[d])){
d++; continue;
}else{
printf("Congratulations your Password has been saved\n");
}
} printf("You missed a special character\n");
}else{c++; continue;}
}
printf("You missed a number\n");
}else{b++; continue;}
}
(b>20) ? printf("You missed a letter\n") : printf("");
return 0;
}