Trả lời:
Đáp án đúng: D
Đoạn code trên sử dụng một mảng `arr` kiểu `int` và khởi tạo nó với các giá trị {1, 2, 3, 4, 5}. Sau đó, một con trỏ `ptr` kiểu `int*` được gán địa chỉ của phần tử thứ ba trong mảng (tức là `arr[2]` hoặc số 3).
Khi đó, `*ptr` sẽ trả về giá trị mà con trỏ `ptr` đang trỏ tới, tức là 3.
Biểu thức `*ptr++` có nghĩa là:
1. `*ptr`: Lấy giá trị mà `ptr` đang trỏ tới (là 3).
2. `ptr++`: Tăng con trỏ `ptr` lên một vị trí (sau khi đã lấy giá trị). Như vậy, sau biểu thức này, `ptr` sẽ trỏ tới `arr[3]` (tức là số 4).
Như vậy, `printf("%d", *ptr++)` sẽ in ra giá trị 3 (giá trị ban đầu mà `ptr` trỏ tới), và sau đó `ptr` sẽ trỏ đến phần tử tiếp theo trong mảng.
Tiếp theo, `printf("%d", *ptr)` in ra giá trị mà `ptr` hiện đang trỏ tới. Vì `ptr` đã được tăng lên ở bước trước, nên giờ nó trỏ tới `arr[3]`, có giá trị là 4. Do đó, nó sẽ in ra 4.
Kết quả cuối cùng in ra màn hình là 34. Vì không có đáp án nào trùng khớp với kết quả này nên đáp án đúng nhất là "Complier error" do đề bài thiếu dấu cách giữa 2 lệnh in.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
