gpt4 book ai didi

检查输入的值是否包含数字

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:58 25 4
gpt4 key购买 nike

我正在尝试让我的程序检查为 password_entered 输入的值中是否有数字。

我目前的 c 看起来像:

int CFD(char password_entered[]);
int main()
{
char password_entered[20]; //max is 20 char

/*do{*/
printf("password?? \n");
scanf("%s", password_entered);

if(CFD(password_entered))
{
//contains digit(s) character.
}
else{
// no digits
}


/*}*/



return 0;
}


int CFD(char password_entered[]){
int i;
for(i=0; i<strlen(password_entered); i++){

if( isdigit(password_entered[i]) ){
printf("\ndigit(s).\n");
return true;
}
else{
printf("\nno digit(s).\n");
return false;
}
}
}

问题是,当我运行我的代码时,它一直落入 else{} 我这里做错了什么?

问题的一部分,如果我输入 3 它有效,但不是 John3 - 我如何才能更好地评估它?

谢谢!

最佳答案

您只需测试密码的第一个字符,然后立即返回。试试这个:

int CFD(char password_entered[]) {
int i;
for (i=0; i<strlen(password_entered); i++) {
if ( isdigit(password_entered[i]) ) {
printf("\ndigit(s).\n");
return 1;
}
}
printf("\nno digit(s).\n");
return 0;
}

关于检查输入的值是否包含数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32258781/

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