首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

有关链表的建立有关问题

2012-02-20 
有关链表的建立问题#includestdio.h#includestdlib.htypedefstructNode*PtrToNodetypedefPtrToNodePo

有关链表的建立问题
#include   <stdio.h>
#include   <stdlib.h>

typedef   struct   Node   *PtrToNode;  
typedef   PtrToNode   Position;
typedef   PtrToNode   List;

struct   Node  
{
int   Element;
Position   Next;
};

Position   CreatList(List   Head);
void   PrintList(List   Head);

void   main()
{List   Head;
Head=(Position)malloc(sizeof(Position));
        Head-> Next=NULL;

CreatList(Head);
PrintList(Head);
}

Position   CreatList(List   Head)
{
int   C;
Position   P,Tmp;

P=Head;
while((C=getchar())!= '\n ')
{
Tmp=(Position)malloc(sizeof(Position));
P-> Element=C;
P-> Next=Tmp;
P=Tmp;
        }
return   Head;
}

void     PrintList(List   Head)
{
Position   P;
P=Head;
printf( "the   list   is: ");
if(P!=NULL)
do
{
printf( "%d ",P-> Element);
P=P-> Next;
                }while(P!=NULL);

}
在编译是没有错误   在运行是发生错误

[解决办法]
创建链表时,没有结束。
while((C=getchar())!= '\n ')
{
Tmp=(Position)malloc(sizeof(Position));
P-> Element=C;
P-> Next=Tmp;
P=Tmp;
P-> Next = NULL; //增加此处
}

热点排行