Code C phải nhập 2 lần mới hiện output

mình có đoạn code như thế này

lúc run thì phải nhập kí tự đến 2 lần thì nó mới hiển thị dấu “*” … Các pro vào giúp mình vớ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ầ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! :smiley:
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.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?