JavaScript is required

Anh (Chị) hãy cho biết, tại dòng thứ 6, val2 có giá trị là gì?

1. int val1 = 5, val2 = 15;

2. int *p1, *p2;

3. p1 = &val1

4. p2 = &val2

5. *p1 = 10;

6. *p2 = *p1;

7. p1 = p2; 8 . *p2 = 20;

A.

10

B.

20

C.

30

D.

0

Trả lời:

Đáp án đúng: A


Để tìm giá trị của val2 tại dòng thứ 6, ta theo dõi các bước sau: 1. **Dòng 1:** `int val1 = 5, val2 = 15;` Khởi tạo `val1 = 5` và `val2 = 15`. 2. **Dòng 2:** `int *p1, *p2;` Khai báo hai con trỏ `p1` và `p2` kiểu integer. 3. **Dòng 3:** `p1 = &val1;` `p1` trỏ tới địa chỉ của `val1`. 4. **Dòng 4:** `p2 = &val2;` `p2` trỏ tới địa chỉ của `val2`. 5. **Dòng 5:** `*p1 = 10;` Giá trị tại địa chỉ mà `p1` trỏ tới (tức là `val1`) được gán bằng 10. Vậy `val1` bây giờ là 10. 6. **Dòng 6:** `*p2 = *p1;` Giá trị tại địa chỉ mà `p2` trỏ tới (tức là `val2`) được gán bằng giá trị tại địa chỉ mà `p1` trỏ tới (tức là `val1`). Vì `val1 = 10` nên `val2` bây giờ cũng là 10. Vậy, tại dòng thứ 6, giá trị của `val2` là 10.

Câu hỏi liên quan