举一反三
- 有以下程序 #include struct NODE {int num; struct NODE *next; } main() {struct NODE *p,*q,*r; p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); p->num=10;q->num=20;r->num=30; p->next=q;q->next=r; printf("%d ",p->num+q->next->num); } 程序运行后的输出结果是( )
- 中国大学MOOC: 下面程序执行后的输出结果是:#include <iostream>#include <cmath>using namespace std;struct NODE {int num; struct NODE *next;};int main(){struct NODE *p,*q,*r;p=new NODE;q=new NODE;r=new NODE;p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;cout<<p->num+q->next->num<<endl; return 0;}
- 中国大学MOOC: 以下程序执行后的输出结果是#include<stdio.h>#include<stdlib.h>structNODE{intnum;structNODE*next;};intmain(){structNODE*p,*q,*r;intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=1;q->num=2;r->num=3;p->next=q;q->next=r;r->next=NULL;sum+=q->next->num;sum+=p->num;printf("%d\n",sum);return0;}
- 有以下结构体说明和变量定义,如图所示,指针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;
- 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是struct node { int data; struct node *next; }*p, *q, *r;[img=499x166]1803086e2b395fc.jpg[/img] 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;
内容
- 0
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是struct node { int data; struct node *next; }*p, *q, *r;[img=520x172]1802fca5b16c855.jpg[/img] 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;
- 1
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是struct node { int data; struct node *next; }*p, *q, *r;[img=499x166]1802f730ca44beb.jpg[/img] 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;
- 2
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是struct node { int data; struct node *next; }*p, *q, *r;[img=520x172]1802ea3d46b7ef7.jpg[/img] 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;
- 3
28. 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。 struct node { int data; struct node *next; } *p, *q, *r; 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是( )。 A: ->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;
- 4
在循环双链表的p所指结点后插入s所指结点的操作是( )。 A: s->prior=p; s->next=p->next; p->next=s; p->next->prior=s; B: p->next=s; p->next->prior=s; s->prior=p; s->next=p->next; C: p->next=s; s->prior=p; p->next->prior=s; s->next=p->next; D: s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;