パスワードには文字と数字が必要です。ここでは、コードです:Cのパスワード強度検出器が機能しない
#include <ctype.h>
int main()
{
char password;
printf("Please enter a password.\n");
scanf("%c", &password);
if ((isalpha (password) && isdigit(password))){
printf("Your password is strong!\n");
} else {
printf("Your password is weak!");
}
return 0;
}
は、しかし、私はそれをコンパイルするとき、それは常に印刷し、私は文字と数字の両方を入力しても「あなたのパスワードは弱いです」。どうしましたか?
? @ JonathonReinhartの回答に記されているように、テストは常に1文字で失敗します。同時に文字と数字にすることはできません。より正確には、C言語ではなく英語で達成したいことを説明してください。 –
あなたのアプリケーションは最初に入力した文字( 'scanf("%c "')を取り、 'isalpha()'と 'isdigit() '。あなたは、入力されたパスワード全体を読み込み、少なくとも1つの文字と1つの数字があるかどうかを確認するためにアプリケーションを修正したいと思います。 – RhinoDevel
[参照する方法](http://stackoverflow.com/help/how -to-ask)これは、宿題をデバッグする要求のように感じます。 – zhon