若有以下定义则不能将指针q所指的结点接到链表末尾的程序段是()。A.q->next=NULL;p=p->next;p->next=qB.p=p->next;q->next=p->next;p->next=qC.p=p->next;q->next=p;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->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所指的结点接到链表末尾的程序段是()。 ”相关问题
  • 第1题:

    若有以下定义:则不能将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

  • 第2题:

    有以下结构说明和变量定义,指针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->next;


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

  • 第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指向变量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;


    正确答案:C
    因为p指向a的地址,指针不能直接用.操作符来引用结构体中的成员,只能用->来引用

  • 第5题:

    要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行()。
    q->next=p->next;