+1

Tìm hiểu về getchar() và ứng dụng của hàm getchar();

  1. getchar() là gì?

getchar() là một hàm trong thư viện stdio.h của C, dùng để đọc một ký tự từ đầu vào chuẩn (thường là bàn phím) và trả về ký tự đó dưới dạng một giá trị số nguyên của kiểu int. Nếu không có lỗi, getchar() sẽ trả về giá trị ASCII của ký tự được đọc; nếu có lỗi hoặc kết thúc tệp (EOF), nó sẽ trả về EOF.

#include <stdio.h>

int main() {
     char c;
    printf("Nhập một ký tự: ");
    getchar();
    printf("Bạn đã nhập: %c\n", ch);
    return 0;
}
  1. Ứng Dụng của hàm getchar()

a. Đọc ký tự đầu vào ( input ) cho từng bước

getchar() thường được sử dụng để đọc ký tự từ đầu vào theo từng bước, cho phép lập trình viên xử lý từng ký tự một cách dễ dàng

b. Xử Lý Newline Trong scanf

Khi sử dụng scanf để đọc đầu vào từ người dùng thường sẽ xuất hiện các ký tự newline ( là kí tự xuống dòng : \n ) vẫn còn trong bộ đệm đầu vào, điều này có thể gây ra một số vấn đề lỗi khi đọc ký tự tiếp theo. Và theo đó getchar() thường được sử dụng để loại bỏ ký tự newline này.

#include <stdio.h>

int main() {
    char h, i;
    printf("Nhập ký tự thứ nhất: ");
    scanf("%c", &h);
    getchar(); // Sử dụng để loại bỏ ký tự newline

    printf("Nhập ký tự thứ hai: ");
    scanf("%c", &i);

    printf("Bạn đã nhập: '%c' và '%c'\n", h, i);
    return 0;
}

c. Dừng Màn Hình Console

Trong nhiều chương trình console, getchar() thường được sử dụng để giữ cửa sổ console mở cho đến khi người dùng nhấn một phím, giúp họ có thời gian để xem kết quả trước khi cửa sổ đóng lại.

#include <stdio.h>

int main() {
    printf("Chương trình đã kết thúc. Nhấn Enter để thoát...");
    getchar();
    return 0;
}

Kết Luận :

getchar() là một hàm hữu ích trong lập trình C, giúp bạn dễ dàng xử lý đầu vào ký tự từ người dùng. Từ việc đọc ký tự từng bước, xử lý vấn đề newline trong scanf, đến việc giữ màn hình console mở. Hiểu và sử dụng thành thạo getchar() sẽ giúp bạn viết mã lệnh C hiệu quả và chính xác hơn. getchar() có nhiều ứng dụng khác mà có lẽ mình chưa đưa ra được nếu các ae đã thành thạo việc sử dụng hàm này biết được nhiều các ứng dụng thực tiễn hơn có thể góp ý cho mình nhé .


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí