设有以下语句:struct st{int n; struct st *next;};struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];则表达式( )的值是6。
A. p++->n
B. p->n++
C. (*p).n++
D. ++p->n
查看答案
下列程序执行后输出的结果第一行是,第二行是,第三行是。#include struct s{ int x,y;}data[2]={10,100,20,200};int main(){ struct s *p=data;printf("%d\n",++p->x);printf("%d\n",data[0].x);printf("%d",(++p)->x);return 0;}
为创建链表,声明了如下结构体类型,请完善程序段。struct cc{ char name[20];int age;【1】 next;} *p;p=(【2】 )malloc(sizeof(【3】));
完善创建链表的程序段typedef struct student{ char name[20];int age;struct student *next;}STUDENT;【1】 create(){ STUDENT *p, *q, *head;int i=1;head=0;while (i<=4){ if ((p=(STUDENT *)malloc(sizeof(STUDENT)))==NULL)exit(1);printf("please input:");scanf("%s%d", 【2】 , 【3】 );if (head==0) { head=p; q=p; }else { q->next= 【4】; q=p; }i++;}q->next= 【5】 ;return 【6】;}
完善遍历链表的程序段typedef struct student{ char name[20];int age;struct student *next;}STUDENT;void travel( STUDENT *head){ STUDENT *p;p=head;while (【1】){ printf("%s %d\n",p->name,p->age);p=【2】;}}