单项选择题有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。 struct node int data; struct node *next; *p, *q, *r; data next data next data next 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是()。
A) r→next=q; q→next=r→next; p→next=r;
B) q→next=r→next; p→next=r; r→next=q;
C) p→next=r; q→next=r→next; r→next=q;
D) q→next=r→next; r→next=q; p→next=r;