大侠帮帮忙,链表的输出问题
#include<iostream.h>struct node
{
int info;
node *next;
};
int main()
{
node *head,*tail,*p,*p1;
int n=0,data;
head=NULL;
cout<<"please input a data:\n"<<endl;
cin>>data;
while(data!=0)
{
n++;
if(n==1)
{
head=new node;
tail=head;
head->info=data;
}
else
{
p=new node;
tail->next=p;
tail=p;
}
cout<<"input aa data:\n"<<endl;
cin>>data;
}
tail->next=NULL;
p1=head;
while(p1!=NULL)
{
cout<<p1->info<<endl;
p1=p1->next;
}
return 0;
}
只有第一个输出的数据是正确的,其他的都是一个很大的负数,输出时指针应该指向了未知区域,我怎么也找不出到底那错了呀(本人菜鸟,初学c++语言)