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;` có mục đích thay đổi giá trị của thành viên `info` trong phần tử thứ ba của danh sách liên kết. Giải thích chi tiết: * `head`: Là con trỏ trỏ đến phần tử đầu tiên của danh sách. * `head->next`: Truy cập đến phần tử kế tiếp của phần tử mà `head` đang trỏ tới (tức là phần tử thứ hai). * `head->next->next`: Truy cập đến phần tử kế tiếp của phần tử thứ hai (tức là phần tử thứ ba). * `head->next->next->info`: Truy cập đến thành viên `info` của phần tử thứ ba. * `= 111`: Gán giá trị 111 cho thành viên `info` của phần tử thứ ba. Như vậy, câu lệnh này sẽ thay đổi giá trị của thành viên `info` trong phần tử thứ ba của danh sách liên kết thành 111.

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan