填空题
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#defineN 8
typedef street list
int data;
struct list*next;
SLIST;
SLIST*creatlist(int*a);
void outlist(SLIST*);
void fun(SLIST*h,int*n)
SLIST*p;
/***************found***********/
______=0;
p=h->next;
while(p)
(*n)++;
/*************found***********/
p=p->______;
main()
SLIST*head;
int a[N]=12,87,45,32,91,16,20,48,num;
head=creatlist(a);
outlist(head);
/*************found*********/
fun(______,&num);
printf("\number=%d\n",num);
SLIST*creatlist(int a[])
SLIST*h,*p,*q; int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
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 NULLP,n");
else
printf("\nHead");
do
printf("->%d",p->data);
p=p->next;
while(p!=NULL);
printf("->End\n");
【参考答案】
*n next head
热门
试题
填空题
下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 例如,当字符串中的内容为“123dabf123dx”,t中内容为“ab”时,输出结果应是“123dx”。 当字符串中的内容为“123dabf123dx”,t中内容为“abd”时,则程序输出未找到信息“Not found!”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> char*fun(char*s,char*t) char*p,*r,*a; ************found********* a=Null; while(*s) p=s;r=t; while(*r) ************found********** if(r==p)r++;p++; else break; if(*r==’ 0’)a=s; s++; return a; voidmain() char s[100],t[100],*p; printf( nPlease enter string S: ); scanf( %s ,s); printf( nPlease enter substring t=t: ); scanf( %s ,t); p=fun(s,t); if(p) printf( inThe result is:%s n ,p); else printf( inNot found! n );