當我在我下面的程序,並按下輸入密碼進入我得到一個調試 斷言錯誤,特別是isctype.c線失敗的錯誤56爲什麼我會得到一個調試斷言上運行的代碼
表達:(無符號)(c + 1)< = 256
有人可以幫我解決這個問題嗎?
代碼:
int main()
{
int j=0;
char pass[100];
int upper=0, lower=0, digit=0, sc=0;
printf("Enter your password:\n");
scanf("%s",&pass);
while(j!=' '){
if(isalpha(pass[j])){
if(isupper(pass[j])){
upper++;
}
else{
lower++;
}
}
else if(isdigit(pass[j])){
digit++;
}
else{
sc++;
}
j++;
}
if(upper==0||lower==0||digit==0||sc==0){
printf("Password must contain atleast one upper case, one lower case, one digit and a special character");
}
else{
printf("Good to go");
}
return 0;
_getch();
}
請做我們(和你自己)的忙,並縮進你的代碼。 –
'while(j!='')'??? –
好的,那麼如果你沒有在密碼中輸入任何空格......循環將永遠存在(甚至可能在你的數組之外)?順便說一句,_getch()**之後**返回? –