问答题
给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
typedef struct list
{ char data;
struct list*next;
}Q;
void fun(Q*pa,Q*pb,Q*pc)
{Q*P;
/*********found*********/
pa->next=
【1】
;
pb->next=pc;
p=pa;
while(P)
{
/*********found*********/
printf("%c",
【2】
);
/*********found*********/
p=
【3】
;
}
printf("\n");
}
main()
{ Q a,b,c;
a.data='E';b.data='F';
c.data='G'; c.next=NULL;
fun(&a,&b,&c);
}
【正确答案】正确答案:(1)pb (2)p->data (3)p->next
【答案解析】解析:填空1:将三个结点连接起来,即将pa的指针域指向pb,pb的指针域指向pc。 填空2:输出链表结点中的数据,表示为p->data。 填空3:指针后移,指向下一个结点,即p=p->next。