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++ cho sẵn.
Phân tích đoạn code:
1. **Khai báo biến:**
- `int arr[] = {4, 5, 6, 7};` Khai báo một mảng số nguyên `arr` và khởi tạo giá trị.
- `int *p = (arr + 1);` Khai báo con trỏ `p` kiểu số nguyên và gán địa chỉ của phần tử thứ hai trong mảng `arr` (tức là `arr[1]`, có giá trị là 5).
2. **Thay đổi giá trị:**
- `*(arr + 1) = 4;` Gán giá trị 4 cho phần tử thứ hai của mảng `arr`. Mảng `arr` bây giờ là `{4, 4, 6, 7}`.
- `*(p + 2) = 1;` Gán giá trị 1 cho phần tử có địa chỉ cách địa chỉ mà `p` đang trỏ tới 2 đơn vị. Vì `p` trỏ tới `arr[1]`, `p + 2` sẽ trỏ tới `arr[3]`. Mảng `arr` bây giờ là `{4, 4, 6, 1}`.
3. **In ra màn hình:**
- `cout << arr[0] << " " << arr[1] << " " << arr[3];` In ra các giá trị của `arr[0]`, `arr[1]` và `arr[3]`, tức là 4 4 1.
Vậy đáp án đúng là C. 4 4 1
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
