填空题
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-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));
{{U}} [14] {{/U}}=a;q->next=p;{{U}} [15] {{/U}}=p;scanf("%d",&a);}
p->next='/0';return(ph);}
main( )
{stuct list * head;head=creatlist();}
【正确答案】
1、p->data
【答案解析】q
[解析] 本题考查的是链表这一数据结构对结构体变量中数据的引用。链表的特点是结构体变量中有两个域,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。