What will this code print?

4 phương ánCó giải thích
Đề bài
int x[5] = {0};
printf("%d", x[3]);

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: "0". Khi một mảng có danh sách khởi tạo, những phần tử không được nêu giá trị đều bị đặt về 0 theo đúng quy định của chuẩn; vì thế cách viết với một số 0 duy nhất trong cặp ngoặc nhọn là lối quen dùng để xoá trắng cả mảng. Phần tử ở chỉ số 3 nằm trong nhóm được lấp 0 nên printf in ra 0. Ý "Garbage value" sai vì giá trị rác chỉ xuất hiện khi một mảng cục bộ không có bất kỳ danh sách khởi tạo nào; ở đây đã có danh sách nên toàn bộ mảng được xác định. Ý "3" sai vì 3 là chỉ số, không phải nội dung của ô; vị trí và nội dung là hai chuyện khác nhau. Ý "Error" sai vì khởi tạo thiếu giá trị là hợp lệ, và chỉ số 3 vẫn nằm trong phạm vi mảng 5 phần tử.

Cùng phần 7

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