Vì bạn đã dùng getch() 2 lần: 1 lần ở if(getch()==13) và 1 lần ở matkhau[i] = getch(); (nếu lần getch() trước không phải ký tự 13) rồi sau đó mới puts("*").
Giải quyết: cho int c = getch(); sau đó là đi so sánh và nhập vào mảng. That’s it!
Góp ý thêm:
Học cách post code dùng markdown (có lẽ link này được đề cập nhiều nhất diễn đàn).
Không nhất thiết phải dùng gotoxy() để thay thế bằng dấu '*', mình dùng gcc và hàm getch() không in kết quả ra màn hình. Nếu có, bạn cứ thay thế bằng printf("\b*"); cũng được rồi.
Vì bạn đã dùng
getch()
2 lần: 1 lần ởif(getch()==13)
và 1 lần ởmatkhau[i] = getch();
(nếu lầngetch()
trước không phải ký tự 13) rồi sau đó mớiputs("*")
.Giải quyết: cho
int c = getch();
sau đó là đi so sánh và nhập vào mảng. That’s it!Góp ý thêm:
gotoxy()
để thay thế bằng dấu'*'
, mình dùng gcc và hàmgetch()
không in kết quả ra màn hình. Nếu có, bạn cứ thay thế bằngprintf("\b*");
cũng được rồi.