密碼需要一個字母和一個數字。下面的代碼: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的回答所指出的,對於一個字符,測試總是會失敗 - 它不能同時是字母和數字。更準確地說明你想用英文而不是C來達到目的。 –
你的應用程序只需輸入第一個字符('scanf(「%c」')並檢查該字符是否爲'isalpha()'AND'isdigit() '我想你想要修改你的應用程序來讀取輸入的整個密碼並檢查,如果至少有一個字母和一個數字。 – RhinoDevel
請看[怎麼問](http://stackoverflow.com/help/how這就像是一個調試家庭作業的請求。 – zhon