c++链表的问题
#include <iostream>#include <string>
using namespace std;
struct Student
{
int age;
string name;
int h;
Student *hand;
};
int main()
{
Student a,b,c, *p,*p1,*p3;
a.age=18;
a.name="fzq";
b.age=19;
b.name="fdghfgh";
c.age=20;
c.name="ddfgdf";
p=&a;
a.hand=&b;
b.hand=&c;
c.hand=0;
p1=p;
while(p!=0)
{
int i=0;
cout<<p->age<<" "<<p->name<<endl;
p=p->hand;
}
cout<<"hg"<<endl;
return 0;
}
这段代码里面的while循环体里面
p=p->hand;将这句话放置在
cout<<p->age<<" "<<p->name<<endl;
的上面就会 出错这个是为什么?
为什么我将while(p->hand!=0)
这样写同上面那个将
p=p->hand;将这句话放置在
cout<<p->age<<" "<<p->name<<endl;
有区别?
while(p->hand!=0)这样会不输出c的成员值?
而
p=p->hand;将这句话放置在
cout<<p->age<<" "<<p->name<<endl;
这样的话,会不输出a的值,为什么链表尾的c可以省略输出
而a省略输出就出错了?这个是怎么回事?
我代码写错了??
谢谢高手帮忙指点一下下呀!!
O(∩_∩)O谢谢