Я пытаюсь получить свою программу, чтобы проверить, имеет ли значение, введенное для 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
- как я могу лучше оценить это?
Спасибо!
Вам не хватает функции 'isdigit'. – Bitmap
вы только проверяете первый символ пароля и сразу возвращаетесь из функции 'CFD' – wimh
@Bitmap - смотрите под CFD() – CodeTalk