JavaScript is required

Cho khai báo FILE *f1,*f2; int c; và đoạn lệnh. Trong trường hợp tổng quát, hãy cho biết các khẳng định sau, khẳng định nào đúng: f1 = fopen(“source”, ”rt”); f2 = fopen(“TARGET”, ”wt”); while ((c = fgetc(f1)) != EOF) fputc(c, f2);

A.

Độ dài file “source” luôn bé hơn độ dài file “TARGET”.

B.

Độ dài file “source” bằng độ dài file “TARGET”.

C.

Độ dài file “source” nói chung lớn hơn độ dài file “TARGET”.

D.

Độ dài file “source” nói chung sẽ lớn hơn độ dài file “TARGET” 1 byte.

Trả lời:

Đáp án đúng: B


Đoạn chương trình trên thực hiện việc mở hai file, "source" để đọc (chế độ "rt") và "TARGET" để ghi (chế độ "wt"). Sau đó, chương trình đọc từng byte từ file "source" và ghi byte đó vào file "TARGET" cho đến khi gặp ký tự EOF (End Of File) trong file "source". Vì mỗi byte đọc từ "source" đều được ghi vào "TARGET", nên sau khi vòng lặp `while` kết thúc, số lượng byte trong hai file sẽ bằng nhau. Do đó, độ dài của file "source" sẽ bằng độ dài của file "TARGET". Các phương án khác không đúng vì: * A. Độ dài file “source” luôn bé hơn độ dài file “TARGET” - Sai, vì hai file có độ dài bằng nhau. * C. Độ dài file “source” nói chung lớn hơn độ dài file “TARGET” - Sai, vì hai file có độ dài bằng nhau. * D. Độ dài file “source” nói chung sẽ lớn hơn độ dài file “TARGET” 1 byte - Sai, vì hai file có độ dài bằng nhau.

Câu hỏi liên quan