以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。 #include<stdio.h> struct lis

admin2009-02-15  53

问题 以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。
   #include<stdio.h>
   struct list{ int data;struct list*next;};
   struct list*creatlist()
   {  struct list*p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list));
      p=q=ph;printf("Input an integer number;entre-1 to end:\n");
      scanf("%d",&a);
      while(a!=-1)
      {  p=(struct list*)malloc(sizeof(struct list));
【  】=a;q->next=p;【  】=p;scanf("%d",&a);}
      p->next=’\0’;return(ph);}
   main()
   {struct list * head;head=creatlist();}

选项

答案p->data q

解析 本题考查的是链表这一数据结构对结构体变量中的数据的引用。链表的特点是结构体变量中有两个域,一个是数据,一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。
转载请注明原文地址:https://jikaoti.com/ti/i9K0FFFM
0

最新回复(0)