JavaScript is required

What is output? Giả sử dùng VC++ 2008 trên hệ điều hành 32 bit
Media VietJack

A.
9
B.
12
C.
16
D.
24
Trả lời:

Đáp án đúng: B


Đề bài yêu cầu tìm kết quả của đoạn chương trình C++ với giả định sử dụng VC++ 2008 trên hệ điều hành 32 bit. Phân tích đoạn code: 1. **Khai báo biến**: Khai báo biến `a` kiểu `int` và gán giá trị 5. Khai báo con trỏ `p` kiểu `int*` và gán địa chỉ của `a` cho `p`. 2. **Gán giá trị cho con trỏ**: `*p = 12;` thay đổi giá trị của biến `a` (mà `p` đang trỏ tới) thành 12. 3. **Khai báo con trỏ void**: Khai báo con trỏ `q` kiểu `void*` và gán địa chỉ của `a` cho `q`. 4. **Ép kiểu và gán giá trị**: `*(int*)q = 16;` ép kiểu con trỏ `void*` `q` thành `int*` rồi gán giá trị 16 vào địa chỉ mà `q` đang trỏ tới. Vì `q` đang trỏ tới `a`, giá trị của `a` lúc này là 16. 5. **In giá trị**: `cout << a;` in giá trị của `a` ra màn hình. Vậy kết quả in ra màn hình là 16.

Câu hỏi liên quan