Which of the following reads in a string named x with one hundred characters?
Trả lời:
Đáp án đúng: B
Câu hỏi yêu cầu tìm cách đọc một chuỗi có tối đa 100 ký tự từ đầu vào chuẩn (stdin).
* **A. `fgets(x, 101, stdin);`**: Hàm `fgets` đọc một dòng từ một luồng đầu vào. Tham số thứ hai chỉ định số lượng ký tự tối đa được đọc, *bao gồm cả ký tự null kết thúc chuỗi*. Vì vậy, để đọc tối đa 100 ký tự, ta cần truyền `101` để dành chỗ cho ký tự null.
* **B. `fgets(x, 100, stdin);`**: Nếu dùng `100`, hàm `fgets` sẽ chỉ đọc tối đa 99 ký tự và thêm ký tự null, dẫn đến chuỗi không có đủ 100 ký tự nếu đầu vào có 100 ký tự.
* **C. `readline(x, 100, ‘\n’);`**: Hàm `readline` không phải là một hàm chuẩn trong C/C++. Đây có thể là hàm tự định nghĩa hoặc thuộc thư viện khác, nhưng không phải là lựa chọn mặc định.
* **D. `read(x);`**: Hàm `read` cũng không phải là một hàm chuẩn trong C/C++ để đọc chuỗi từ đầu vào chuẩn theo cách này. Hàm `read` thường được sử dụng cho các thao tác đọc ở cấp thấp hơn (ví dụ: đọc từ file descriptor).
Do đó, phương án A là chính xác nhất vì nó sử dụng `fgets` với kích thước phù hợp để đọc tối đa 100 ký tự và đảm bảo chuỗi được kết thúc bằng ký tự null.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
