结构体与共用体及用户定义类型

struct NODE *next; }; main( )

{ struct NODE *p,*q,*r; int sum=0;

p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); 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); }

执行后的输出结果是 A) 3 B) 4 C) 5 D) 6

(17) 以下选项中不能正确把c1定义成结构体变量的是

A) typedef struct B) struct color cl { int red; { int red; int green; int green; int blue; int blue; } COLOR; }; COLOR cl;

C) struct color D) struct

{ int red; { int red; int green; int green; int blue; int blue; } c l; } c l ;

(18) 有以下程序 struct s

{ int x,y;} data[2]={10,100,20,200}; main ()

{ struct s *p=data; printf(\}

程序运行后的输出结果是

A) 10 B) 11 C) 20 D)21

(19) 有以下结构体说明和变量定义,如图所示,指针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;

(20) 设有如下说明 typedef struct

{ int n; char c; double x;}STD;

则以下选项中,能正确定义结构体数组并赋初值的语句是 A) STD tt[2]={{1,'A',62},{2, 'B',75}}; B) STD tt[2]={1,\ C) struct tt[2]={{1,'A'},{2, 'B'}}; D)st

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4