【正确答案】算法由主函数和创建单链表、输出三个函数组成。
程序如下:
#include<stdio.h>
typedef struct node
char data;
struct node *next;
}Node;
Node*create() /*创建单链表,返回一个指向链表表头
的指针head*/
{
Node*head,*q,*p; /*定义指针变量*/
char i;
head=(Node*)malloc(sizeof(Node)); /*申请新的存储空间*/
q=head;
for(i='a';i<'e';i++)
{
p=(Node*)malloc(sizeof(Node));
p->data=i;
q->next=p;
q=p;
}
q->next=NULL;
return(head); /*返回表头指针head*/
}
void print(Node*head)
}
Node*p;
p=head->next;
while(p!=NULL)
}
printf("/%c",p->data); /*输出链表元素*/
p=p->next;
}
printf("\n");
}
main()
{
Node*a;
a=create();
print(a);
}
输出结果为:
a b c d
【答案解析】