JavaScript is required

Phát biểu nào đúng khi nói về câu lệnh fflush(FILE *f):

A.
Hàm làm sạch vùng đệm của tệp f, nếu thành công cho giá trị số tệp đang mở, trái lại, trả về EOF.
B.
Hàm làm sạch giá trị vùng đệm của tệp f, nếu thành công hàm cho giá trị EOF, trái lại, hàm trả vể 0.
C.
Hàm làm sạch vùng đệm của tệp f, nếu thành công trả về 0, trái lại, trả về EOF.
D.
Hàm xóa bộ nhớ đệm của bàn phím.
Trả lời:

Đáp án đúng: C


Câu lệnh `fflush(FILE *f)` được sử dụng để làm sạch (flush) bộ đệm (buffer) của một tệp tin đã mở `f`. Nếu `f` là một tệp tin đầu ra (ví dụ, được mở bằng "w" hoặc "a"), `fflush` sẽ buộc dữ liệu từ bộ đệm của tệp tin đó được ghi xuống thiết bị lưu trữ (ví dụ, ổ cứng). Nếu `f` là một tệp tin đầu vào (ví dụ, được mở bằng "r"), hành vi của `fflush` là không xác định (undefined behavior) theo chuẩn C, nhưng thường sẽ xóa bỏ nội dung hiện tại trong bộ đệm đọc. Hàm `fflush` trả về 0 nếu thành công và trả về `EOF` nếu có lỗi xảy ra. Như vậy, phương án C là chính xác nhất. Các phương án khác không đúng vì: - Phương án A: Sai về giá trị trả về khi thành công (phải là 0, không phải số tệp đang mở). - Phương án B: Sai về giá trị trả về khi thành công và khi thất bại. - Phương án D: `fflush` không dùng để xóa bộ nhớ đệm của bàn phím. Để xóa bộ nhớ đệm bàn phím, có thể sử dụng các phương pháp khác tùy theo hệ điều hành và thư viện sử dụng (ví dụ, dùng `getchar()` nhiều lần để đọc hết các ký tự còn lại trong bộ đệm).

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan