问题 填空题

以下程序中函数 fun 的功能是:构成一个如图所示的带头结点的单向链表,在结点 的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单向链表 中所有结点中的字符串。请填空完成函数 disp。headab cd ef \0 #include typedef struct node /*链表结点结构*/{ char sub[3];struct node *next; }Node;Node fun(char s) /* 建立链表*/{ …… }void disp(Node *h){ Node *p;p=h->next;while(= _______ ){ printf("%s\n",p->sub);p= _______ ; }}main(){ Node *hd;hd=fun(); disp(hd);printf("\n");}

答案

参考答案:p!=NULL 或 p 或 p!=0 或 p!=’\0’ , p->next 或 (*p).next

解析:此题主要考核的是用指针处理链表。自定义结构体类型名为 Node,并定义一个指向结点类型的指针 next。用 Node 来定义头结点指针变量 h,并定义另一个指针变量 p 指向了第一个结点,在满足 p 未指向最 后一个结点的空指针时,输出 p 所指向结点的字符串,所以第一个空填 p!=NULL 或 p 或 p!=0 或 p!=’\0’, 然后将 p 指向下一个非空结点,所以第二个空填 p->next 或与其等效的形式,反复执行直到所有的结点都输 出,即遇到 p 的值为 NULL。

填空题
解答题