Trả lời:
Đáp án đúng: A
Đề bài yêu cầu xác định kết quả in ra màn hình của đoạn code C++.
Đoạn code khai báo một mảng `arr` kiểu `int` có kích thước 5 và khởi tạo các giá trị ban đầu là {1, 2, 3, 4, 5}.
Tiếp theo, một con trỏ `ptr` kiểu `int` được gán địa chỉ của phần tử đầu tiên trong mảng `arr` (tức là `arr[0]`).
Câu lệnh `*(ptr + 4) = *(ptr + 1) + 3;` thực hiện các bước sau:
1. `ptr + 4` trỏ tới phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
2. `ptr + 1` trỏ tới phần tử thứ 2 của mảng `arr` (tức là `arr[1]`, có giá trị là 2).
3. `*(ptr + 1) + 3` lấy giá trị của `arr[1]` (là 2) và cộng thêm 3, kết quả là 5.
4. `*(ptr + 4) = 5` gán giá trị 5 cho phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
Như vậy, sau câu lệnh này, `arr[4]` có giá trị là 5.
Cuối cùng, đoạn code in ra giá trị của `arr[1]` và `arr[4]`. `arr[1]` có giá trị ban đầu là 2. Vì không có sự thay đổi giá trị `arr[1]` nên giá trị của nó vẫn là 2. Tuy nhiên, sau khi thực hiện gán `*(ptr + 4) = *(ptr + 1) + 3;`, `arr[4]` có giá trị là 5.
Vì vậy, chương trình sẽ in ra `2 5`.
Tuy nhiên, do không có đáp án nào phù hợp, đáp án đúng là "None of above".
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
