![]() |
#2
lz10919149992012-02-05 19:32
|

#include <iostream>
using namespace std;
class A
{
public:
void get()
{
cout<<"a:";
cin>>a;
cout<<endl;
}
A *next;
int a;
};
A *head=0;
void creat()
{
A *p1=new A;
p1->next=0;
A *p2;
::head=p1;
int num;
cout<<"以零结束"<<endl;
cin>>num;
while(num)
{
p1->get();
p2=p1;
A *p1=new A;
p2->next=p1;
cout<<"以零结束"<<endl;
cin>>num;
}
p1->next=0;
}
void show(A *head)
{
while(head)
{
cout<<head->a<<endl;
if(head->next)
{
head=head->next;
}
system("pause");
}
return;
}
void main()
{
creat();
show(head);
}
那个....编译时是没问题的,但是运行时using namespace std;
class A
{
public:
void get()
{
cout<<"a:";
cin>>a;
cout<<endl;
}
A *next;
int a;
};
A *head=0;
void creat()
{
A *p1=new A;
p1->next=0;
A *p2;
::head=p1;
int num;
cout<<"以零结束"<<endl;
cin>>num;
while(num)
{
p1->get();
p2=p1;
A *p1=new A;
p2->next=p1;
cout<<"以零结束"<<endl;
cin>>num;
}
p1->next=0;
}
void show(A *head)
{
while(head)
{
cout<<head->a<<endl;
if(head->next)
{
head=head->next;
}
system("pause");
}
return;
}
void main()
{
creat();
show(head);
}
1.最后只会显示最后一个结点的a值,然后一直显示一个随机数,但是所有指针都有指向了,要不就指向空地址,怎么会有随机指针呢?
2.其实和1差不多,即使一开始就输入0,一样会显示随机指针,怎么回事呢?