JavaScript is required

Which of the following reads in a string named x with one hundred characters?

A.
fgets(x, 101, stdin);
B.
fgets(x, 100, stdin);
C.
readline(x, 100, ‘\n’);
D.
read(x);
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