JavaScript is required

Cho khai báo FILE *f1,*f2; int c; và đoạn lệnh: f1=fopen(“source”,”rt”); f2=fopen(“TARGET”,”wt”); while((c=fgetc(f1))!=EOF) fputc(c,f2); 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:

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 thực hiện việc đọc nội dung từ file "source" và ghi vào file "TARGET". - `f1 = fopen("source", "rt")`: Mở file "source" ở chế độ đọc văn bản. - `f2 = fopen("TARGET", "wt")`: Mở file "TARGET" ở chế độ ghi văn bản. Nếu file "TARGET" chưa tồn tại, nó sẽ được tạo mới. Nếu file "TARGET" đã tồn tại, nội dung của nó sẽ bị ghi đè. - `while((c = fgetc(f1)) != EOF) fputc(c, f2)`: Vòng lặp đọc từng ký tự từ file "source" (sử dụng `fgetc`) và ghi ký tự đó vào file "TARGET" (sử dụng `fputc`). Vòng lặp kết thúc khi gặp ký tự EOF (End-of-File), tức là khi đã đọc hết file "source". Vì mỗi ký tự đọc từ file "source" đều được ghi vào file "TARGET", nên sau khi đoạn chương trình này thực hiện xong, file "TARGET" sẽ có nội dung giống hệt file "source". Do đó, độ dài của hai file sẽ bằng nhau. Các phương án khác không đúng vì: - A: Sai. Độ dài file "source" không nhất thiết bé hơn độ dài file "TARGET". - C: Sai. Độ dài file "source" không nhất thiết lớn hơn độ dài file "TARGET". - D: Sai. Sự khác biệt về độ dài không phải lúc nào cũng là 1 byte.

Câu hỏi liên quan