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)` trong C có chức năng làm sạch (flush) vùng đệm (buffer) của tệp tin được trỏ bởi con trỏ `f`. Điều này có nghĩa là nó sẽ đẩy tất cả dữ liệu còn lại trong bộ đệm của tệp tin đó ra đích thực sự (ví dụ: ghi vào ổ cứng nếu tệp tin đang mở ở chế độ ghi).
- Nếu `f` là một tệp tin mở để ghi (ví dụ, sử dụng `fopen` với mode "w" hoặc "a"), `fflush(f)` sẽ ghi tất cả dữ liệu còn lại trong bộ đệm ra tệp tin.
- Nếu `f` là `NULL`, hành vi của `fflush` là không xác định (undefined behavior) theo chuẩn 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, đáp án C là chính xác nhất.