所属年份:2011.9;
给定程序的主函数中,已给出由结构体构成的链表结点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。