What is the output of the following code snippet?

4 phương ánCó giải thích
Đề bài
char words[4][11];
strcpy(words[0], "apple");
strcat(words[0], "juice");
printf("%s\n", words[0]);

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "applejuice". Khai báo words là mảng hai chiều gồm 4 hàng, mỗi hàng là một mảng 11 ký tự, nên words[0] dùng được như một chuỗi. Hàm strcpy đặt apple cùng ký tự kết thúc vào đầu hàng đó; sau đó strcat tìm tới ký tự kết thúc ấy và ghi tiếp juice từ đúng chỗ đó, rồi đặt lại ký tự kết thúc. Kết quả là một chuỗi mười ký tự, cộng byte kết thúc là vừa đủ 11 ô của hàng. Ý "apple" sai vì nó bỏ qua tác dụng của strcat. Ý "juice" sai vì strcat nối thêm vào phía sau, nó không ghi đè từ đầu hàng; muốn thay hẳn nội dung thì phải gọi strcpy lần nữa. Ý "juiceapple" sai vì trật tự nối luôn là chuỗi đích trước rồi chuỗi nguồn sau, đối số thứ nhất là nơi nhận và nó giữ nguyên phần đầu của mình.

Cùng phần 8

Xuất hiện trong 1 bộ đề