若有以下定义:则不能将q所指向的结点连到上图所示链表末尾的一组语句是()A.q->next=NULL;p=p->next;p->next=qB.p=p->next;q->next=p;p->next=qC.p=p->next;q->next=p->next;p->next=qD.p=(*p).next;(*q).next=(*p).next;(*p).next=q

题目
若有以下定义:则不能将q所指向的结点连到上图所示链表末尾的一组语句是()

A.q->next=NULL;p=p->next;p->next=q

B.p=p->next;q->next=p;p->next=q

C.p=p->next;q->next=p->next;p->next=q

D.p=(*p).next;(*q).next=(*p).next;(*p).next=q


相似考题
参考答案和解析
参考答案:B
更多“若有以下定义:则不能将q所指向的结点连到上图所示链表末尾的一组语句是() ”相关问题
  • 第1题:

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

    现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是

    A.p->next=q->next;

    B.p-next=p->next->next;

    C.p->next=r;

    D.p=q->enxt;


    正确答案:D
    解析:本题考查链表结点的删除。q->next中存放的是r所指结点的首地址,将r所指结点的首地址存于p->next中,则实现删除q所指结点的功能,并保持链表连续,p所指结点与r所指结点相连。

  • 第2题:

    有以下结构体说明和变量定义,如图所示,指针p、q、r,分别指向此链表中的3个连续结点。 Struct node { int data; Struct node *hext; } *p,*q,

    *r;现要将Q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是

    A.p->next=q->next;

    B.p->next=p->next->next;

    C.p->next=r;

    D.p=q->next;


    正确答案:D
    解析:要删除链表中间的某个结点,只需要使它的前一个结点的next指针指向它的后一个结点-不过,严格来讲还需要使用free()函数释放掉该结点在内存中所占的空间。本题要删除的是q所指结点(以下简称q结点),只需使p结点的next指针指向r结点即可。选项A中,因为Q结点的next指向r结点,所以执行p->next=q->next;语句后p结点的next就指向了r结点,故选项A能完成删除。选项B中,p->next->next等价于q->next,因此也能完成删除。选项C直接让p->next指向r结点,当然可以删除。选项D使指针p指向q->next(即r结点),这样做不会影响到内存中的链表,所以应该选择D。

  • 第3题:

    若已建立一个链表,指针p指向尾结点,指针q指向新结点,则能将q所指的结点链接到链表末尾的 一组语句为________。

    A.q->next=NULL;p->next=q; p=q;

    B.p=p->next;q->next=p->next;p->next=q;

    C.p=p->next;q->next=p;p->next=q;

    D.p=(*p)·next;(*q)·next=(*p)·next;(*p)·next=q;


    q->next=NULL;p->next=q; p=q;

  • 第4题:

    假定已建立以下链表结构,且指针P和q已指向如图所示的结点:

    则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是( )。

    A.p一>next=q一>next;flee(q);

    B.p=q一>next;free(q);

    C.p=q;free(q);

    D.(*p).next=(幸q).next;ffee(p);


    正确答案:A
    本题考查删除链表中的结点操作,其方法是将要删除结点的上个结点的下个结点指向要删除结点的下个结点,然后释放该要删除结点,所以选项A正确。

  • 第5题:

    有以下结构体说明和变量的定义,且如图14-4所示的指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是______。

    struct node { char data; struct node * next; }a,b,*p=&a,*q=&b:

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B