有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。   struct node   { int data;    struct node *next;   } *p, *q, *r;      现要将q和r所指结点的先后

admin2005-08-15  53

问题 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。
  struct node
  { int data;
   struct node *next;
  } *p, *q, *r;
  
  现要将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;

答案A

解析 “r->next=q;”表示r的下一个结点为qo“q->next=->next;”则表示q的下一个结点是r的下一个结点,即q结点本身,因此与后续结点便断开了联系。
转载请注明原文地址:https://kaotiyun.com/show/2iHp777K
0

相关试题推荐
最新回复(0)