看看此程序有何问题
#include<iostream.h>
struct Lnode
{
double data;
Lnode* next;
};
void Showlist(Lnode* list)
{
while(list)
{
cout<<list->data<<endl;
list=list->next;
}
}
void AddToEnd(Lnode* p,Lnode* head)
{
Lnode* pk=head;
if(pk==NULL)
pk=p;
else
while(pk->next)
{
pk=pk->next;
}
pk->next=p;
p->next=NULL;
}
Lnode* GetNode()
{
Lnode* item;
item=new Lnode;
if(item)
{
item->next=NULL;
item->data=0.0;
}
else
cout<<"Nothing allocated\n";
return item;
}
void main()
{
Lnode* head=NULL;
Lnode* temp;
temp=GetNode();
while(temp)
{
cout<<"data?"<<endl;
cin>>temp->data;
if(temp->data>0)
AddToEnd(temp,head);
else
break;
temp=GetNode();
}
Showlist(head);
}