01/10/2018, 00:04

Hỏi về ngôn ngữ c

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

Khoa NTA viết 02:17 ngày 01/10/2018

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.
Bài liên quan
0