Chọn câu đúng nhất trong các câu sau đây
Trả lời:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về cách C xử lý các ký tự đặc biệt khi đọc file văn bản, đặc biệt là các ký tự liên quan đến end-of-file (EOF) và end-of-line (EOL) trong các hệ điều hành khác nhau.
* **Phương án A:** Sai. Kí tự có mã 1A (hay Ctrl+Z) thường được dùng để đánh dấu kết thúc file (EOF) trong hệ điều hành DOS/Windows. Tuy nhiên, C không đọc nó thành -1. Cách C xử lý kí tự này tùy thuộc vào compiler và hệ điều hành, nhưng thông thường nó sẽ báo hiệu kết thúc file.
* **Phương án B:** Đúng. Trong các hệ thống sử dụng cặp kí tự OD (Carriage Return - \r) và OA (Line Feed - \n) để biểu diễn end-of-line (EOL) (ví dụ: Windows), C thường xử lý bằng cách chuyển đổi cặp \r\n thành một kí tự dòng mới duy nhất (thường là \n, có mã OA). Điều này giúp chương trình C hoạt động nhất quán trên các hệ điều hành khác nhau.
* **Phương án C:** Sai. Kí tự có mã OD (Carriage Return) không bị bỏ qua hoàn toàn, mà thường được kết hợp với kí tự OA để tạo thành kí tự xuống dòng trong Windows. C sẽ chuyển đổi cặp OD và OA thành một kí tự OA.
* **Phương án D:** Sai. Vì A và C sai.
Vậy, phương án B là đáp án đúng nhất.





