struct employee ( 10ng hum; float salary; sl ruct employee*next; ); int n; struct employee*Create-( ) { struc

admin2014-01-13  34

问题 struct employee
  (
  10ng hum;
  float salary;
  sl ruct employee*next;
  );
  int n;
  struct employee*Create-(    )
  {
struct employee*head;
struct employee*p1=NULL:
struct employee*p2=NULL:
(1):
p1=(struct employee*)malloc(LEN);
(2):
if(pl==NULL)
{
printf(”\nCan’t create it,try it again in a moment\n”);
return NULL;
}
else
{
head=NULL:
(3);
while(pl->num!=0)
{
n++:
if(n==1)
head=pl;
p2->next=NULL:
else
p2->next=p1;
p2=p1;
p1=(struct employee*)maltoc(LEN):
seanf(”Yoold%flf,p1->num,>-p1 - >salary);
}
(4);
(5);
p1=NULL;
return head;
}
}

选项

答案(1)n=0 (2)p2=p1 (3)SCanf(“%1d%f”,&p1->num,&p1->salary) (4)p2->next=NUII (5)free(pl) 本程序主要定义了一个职员信息的结构体emplcyee和一个用于建立链表的方法Create( ),此外还定义了一个全局变量n,用于保存链表中的结点个数。 在Create( )方法中.首先声明了3个指针变量:head、p1和p2。其中。mad用于指向头结点,p1用于保存新创建的结点的地址,p2用于保存原链表最后一个结点的地址,pl、p2的初始值均为NuII。在未建立链表之前,首先将保存链表结点数的全局变量n置为0,则第一个空格应填入n=0。

解析
转载请注明原文地址:https://jikaoti.com/ti/NRU3FFFM
0

最新回复(0)