我试图编写一个程序来读取密码并仅在密码包含美元符号、大写字母和数字时才接受密码。这是代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
int i=0;
char chr;
int dollar,upperC,number=0;
char password[100];
printf("enter the password\n\n");
scanf("%s",password);
for( i=0;i<=99;i++){
chr=password;
if(chr=='$'){
dollar=1;
}
if(isdigit(chr)){
number=1;
}
if(isalpha(chr)){
if(isupper(chr)){
upperC=1;
}
}
if(dollar==1&&number==1&&upperC==1){
printf("your password has accepted");
}else{
printf("your password has not accepted");
}
return 0;
}
}
但是,该程序似乎拒绝所有密码,即使是满足条件的密码。有人可以帮我看看这是为什么吗?