Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: [Solved]Phân biệt getche và getch()

  1. #1
    Ngày gia nhập
    01 2007
    Bài viết
    1

    Mặc định [Solved]Phân biệt getche và getch()

    mình thực sự chưa hiểu rõ vai trò sự khác nhau giữa getche và getch???
    cách sử dụng của nó:
    đọc tìa liệu thì chỉ có thấy đề cập getche là đọc tất cả các kí tự in ra màn hình..còn getch(0 thì không in ra màn hình....
    Mình thực sự chưa hiểu rõ lắm ...mong các bạn hướng dẫn cụ thể thêm??
    và sự khác nhau của void main() và void main(void)??
    mình chỉ biết void main là hàm không trả về giá trị nào cả(hay trả về giá trị void....còn hàm void main(void) thì mình chưa rõ lắm

  2. #2
    Ngày gia nhập
    02 2007
    Bài viết
    27

    Không biết thì hãy viết code chạy thử thì biết. Ví dụ

    PHP Code:
    char c;
    printf("Hay nhap 1 ky tu: ");
    c=getch();
    printf("Ki tu vua nhap la: %c",c); 
    Kết quả chạy như sau: (giả sử nhập chữ A)
    Code:
    Hay nhap 1 ky tu: 
    Ki tu vua nhap la: A
    PHP Code:
    char c;
    printf("Hay nhap 1 ky tu: ");
    c=getche();
    printf("Ki tu vua nhap la: %c",c); 
    Kết quả đê:
    Code:
    Hay nhap 1 ky tu: A
    Ki tu vua nhap la: A
    Bạn có nhận thấy sự khác biệt không?
    Với getch(), khi bạn vừa nhấn phím bất kỳ thì nó nhảy qua dòng lệnh tiếp theo liền, còn với getche() thì sau khi nhấn, kí tự đc nhấn hiện ra màn hình, rồi sau đó mới thực hiện lệnh tiếp theo.

    Nó chỉ khác nhau chỗ đó, còn lại thì y chang nhau.

    Trong C, void nghĩa là rỗng, vì thế void main()void main(rỗng) không khác nhau.

    Còn cái vụ trả về giá trị hay không thì tùy thuộc vào kiểu trả về: void main() hay int main().

    Chúc bạn học giỏi


    Tucõi phước
    Tìnhdây oan

  3. #3
    Ngày gia nhập
    01 2007
    Bài viết
    1

    cảm ơn bạn nhiều lắm...mình rất vui khi có người bạn như bạn đó..
    bây h mình đã hiểu ra vấn đề rồi...
    getche() là thực hiện lệnh tiếp sau khi in ra màn hình kí tự bất kỳ ta vừa nhập;
    còn getch() chỉ đơn thuần là thực hiện lệnh tiếp theo khi ta nhập 1 kí tự bất kì.
    Nhưng bạn ah:getche chỉ in ra mỗi có 1 kí tự thôi nhỉ? mình muốn in ra màn hình 1 số kí tự bất kì và chỉ thực hiện lệnh sau khi ấn Enter.
    getche() chỉ đáp ứng được 1 kí tự thôi????Phải làm sao đây....mà không dùng kiểu nhập xâu kí tự nhé...
    vd: viết lệnh:
    Hãy nhập họ tên bạn:
    hãy nhập lớp:
    và như bạn nói void có nghĩa là rỗng...tức là:
    void main() = main()
    main(void)= main()
    ??????
    Mình thấy trong các sách thì có lúc họ dùng void main() lúc thì dùng main();lúc thì dùng void main(void)...mình nhĩ chắc có sự khác biệt giữa chúng chứ??chắc phải có ý đồ gì đây???

  4. #4
    Ngày gia nhập
    04 2007
    Bài viết
    128

    getche() nó trả về mã ASCII của cái kí tự nhập vào (tức là kiểu int) nên mỗi lần chỉ nhập dc 1 kí tự, mình nghĩ chắc ko nhập dc 1 xâu bằng cái này xài gets(char ) là dc rồi mà.
    void main() hay main() hay... có lẽ là do thói quen
    int main()=main()
    xem thêm http://forums.congdongcviet.com/showthread.php?t=409

Các đề tài tương tự

  1. Công dụng của getch()???
    Gửi bởi duydx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 15-01-2015, 05:17 PM
  2. Mã nguồn C Lỗi Lỗi cuối hàm getch()...
    Gửi bởi lytieubinh_269 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 20-11-2011, 01:10 PM
  3. Kỹ thuật C Phân biệt getch(), getche() và getchar().
    Gửi bởi xuanviet15 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 11-07-2011, 03:42 PM
  4. Cho mình hỏi về lệnh getch()
    Gửi bởi tatung trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 19
    Bài viết cuối: 18-10-2008, 12:41 PM
  5. getch(); ?
    Gửi bởi ath trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 14-01-2008, 04:58 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn