#include<stdio.h>
#include<malloc.h> /*头文件定义*/
#define LEN sizeof(struct zfc) /*宏定义*/
/***************************************************************************/
/*定义一个结构体,作为链表的结点*/
/***************************************************************************/
struct zfc
{
char word; /*记录数据*/
struct zfc * next; /*结构型指针*/
};
/*end struct*/
/*定义creat()函数,开辟节点,构建链表*/
struct zfc * creat()
{
struct zfc * head; /*定义头指针*/
struct zfc * p1,* p2; /*定义两个结构体型的指针*/
p1=p2=(struct zfc *)malloc(LEN); /*开辟一个新单元*/
printf("\nPlease enter the string:\n");
scanf("%c",&p1->word); /*输入数据并存入结点,并应用堆栈的技术,将其作为尾节点*/
p1->next=NULL; /*为尾节点指针数据赋值NULL*/
while(p1->word!='#') /*将 #作为结束标志 */
{
p1=(struct zfc *)malloc(LEN); /*p1作为先头节点指针,往前开辟空间*/
p1->next=p2; /*循环将后一个节点的地址(p2)赋值给p1的指针域*/
scanf("%c",&p1->word); /*再次接受输入的数据*/
p2=p1; /*p2作为p1的追随指针,起记忆作用 */
}
p1->word=NULL; /*清除p1数据域的数据#,作为头指针用*/
head=p1; /*定义头节点*/
return(head); /*本函数返回头指针*/
}
/*end creat()*/
/******************************************************************************/
/*输出链表数据的函数print()*/
/******************************************************************************/
void print(struct zfc *p)
{
struct zfc *q; /*将函数传进来的头指针赋值给本函数局部的指针q*/
q=p;
printf("The reslut is :\n");
while(q!=NULL) /*输出判断条件*/
{
printf("%c",q->word);
q=q->next; /*指针往后走*/
}
printf("\n"); /*换行*/
}
/*end print()*/
/*****************************************************************************/
/*main函数*/
/*****************************************************************************/
void main()
{
struct zfc *head,*first; /*定义两个指针*/
printf("\n*********************************************************");
first=creat(); /*调用creat()函数,创建链表*/
head=first->next; /*将头节点的指针域数据赋值给head*/
print(head); /*输出数据*/
printf("\nThank you for your attentions!BYE!");
printf("\n********************************************************");
getch(); /*屏幕暂留,即停顿*/
}
/*end main()*/
/****************************************************************************/
/*全部结束*/
/*****************************************************************************/
|