What will strlen("FPT\0University") return?

4 phương ánCó giải thích

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: "3". Trong hằng chuỗi, dãy gồm dấu chéo ngược và số không là một ký tự duy nhất, chính là byte rỗng dùng để đánh dấu kết thúc chuỗi. Khi trình dịch dựng hằng này, vùng nhớ lần lượt chứa ba chữ in hoa của FPT, một byte rỗng, mười chữ của University, rồi một byte rỗng nữa, tổng cộng mười lăm byte. Hàm strlen đi từ byte đầu và dừng ở byte rỗng đầu tiên, nên nó chỉ đếm được ba ký tự. Số "14" là số chữ cái nhìn thấy trên mặt chữ, tức cách đếm bỏ qua ý nghĩa của byte rỗng. Số "10" là độ dài của phần đứng sau byte rỗng, phần mà strlen không bao giờ chạm tới. Số "0" chỉ đúng nếu ký tự đầu tiên đã là byte rỗng, trong khi ở đây byte đầu là một chữ in hoa.

Cùng phần 8

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