填空题
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list int data; struct list *next; SLIST; SLIST *creatlist(int *a); void outlist(SLIST *); void fun(SLIST *h, int *n) SLIST *p; /******************found*******************/ (1) =0; p=h->next; while(p) (*n)++; /******************found*******************/ p=p-> (2) ; main() SLIST *head; int a[N]=12, 87, 45, 32, 91, 16, 20, 48, num; head=creatlist(a); outlist(head); /******************found*******************/ fun( (3) , &num); printf("\nnumber=%d\n", num); SLIST *creatlist(int a[]) SLIST *h, *p, *q; int i; h=p=(SLIST *)malloc(sizeof(SUST)); for(i=0; i<N; i++) q=(SLIST *)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; p->next=0; return h; void outlist(SLIST *h) SLIST *p; p=h->next; if (p==NULL) printf("The list is NULL!\n"); else printf("\nHead"); do printf("->%d", p->data); p=p->next; while(p!=NULL); printf("->End\n");
【参考答案】
head
点击查看答案&解析