Sửa lỗi Code ngôn ngữ C (Kiểm tra độ an toàn password)

Mọi người giúp em kiểm tra lỗi của bài này với ạ!

char passWord[30] ;
int lower, upper, number, symbol, i;
lower = upper = number = symbol = 0;

printf("Enter your password : ");
scanf(" %s", passWord);

for (i = 0; i <= 30; i++){
	if (isalpha(passWord[i])){
		if (isupper(passWord[i])){
			upper += 1;
		}else{
			lower += 1;
		}
	}
	if (isdigit(passWord[i])){
		number += 1;
	}else{
		symbol += 1;
	}
}
if (upper >= 1 && lower >= 1 && number >= 1 && symbol >= 1){
	printf("Your Password is good!!!\n");
}else{
	printf("Your Password is suck!!!\n");
}

password nhập vô có 10 ký tự thì sao o.O

1 Like

vậy phải làm sao a? . … . . … .

thêm thư viện string.h
và sửa thành
i < strlen(passWord) thôi :stuck_out_tongue:

À thêm nữa là bạn thiếu dấu “&” trc biến passWord ở hàm scanf();

1 Like

chưa học tới cái strlen đó :stuck_out_tongue: . Nó là… ? . với lại em tưởng nếu là %s thì không cần &

à sr, thói quen của mình, mình hay làm v cho chắc nên tưởng sai… ‘3’
còn strlen là lấy chiều dài của chuỗi ấy bạn :stuck_out_tongue:

3 Likes

Okay! Cảm ơn nhiều! <3

1 Like

I moved 3 posts to a new topic: Hỏi trên forum hay hỏi qua chat?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?