问答题 给定程序的主函数中,已给出由结构体构成的链表结点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。