JavaScript is required

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau: { head->next->next->info=111;};

A.

Câu lệnh bị lỗi

B.

Giá trị “info” trong phần tử thứ 3 đã bị thay đổi

C.

Giá trị “info” trong phần tử thứ 2 đã bị thay đổi.

D.

Giá trị “info” trong phần tử bất kì đã bị thay đổi.

Trả lời:

Đáp án đúng: B


Câu lệnh `head->next->next->info = 111;` thực hiện các bước sau: 1. `head`: Truy cập vào địa chỉ của phần tử đầu tiên trong danh sách móc nối mà `head` đang trỏ tới. 2. `head->next`: Truy cập vào con trỏ `next` của phần tử đầu tiên, con trỏ này trỏ tới phần tử thứ hai trong danh sách. 3. `head->next->next`: Truy cập vào con trỏ `next` của phần tử thứ hai, con trỏ này trỏ tới phần tử thứ ba trong danh sách. 4. `head->next->next->info`: Truy cập vào thành viên `info` của phần tử thứ ba. 5. `head->next->next->info = 111`: Gán giá trị 111 cho thành viên `info` của phần tử thứ ba. Do đó, câu lệnh này sẽ thay đổi giá trị của trường `info` trong phần tử thứ ba của danh sách liên kết.

Câu hỏi liên quan