单选题 现有以下结构体说明和变量定义,如图所示,指针P,q,r分别指向一个链表中连续的三个结点。
【正确答案】 D
【答案解析】[解析] 选项D)中首先将q赋给r->next,也就是将结点q的地址存放在结点r的指针域中;接着将r赋给p->next,也就是将结点r的地址存放在结点p的指针域中,此时完成了q和r所指结点的交换。q->next=r->next的目的是想将q的指针域指向下一个结点的数据地址,但由于一开始执行了r->next=q,即已将r的指针域甲存放了q结点的地址,此时q-next=r-> next就相当于将q指向了其本身,也就是和下一个结点断开了,所以选项D)错误。