注册 登录
编程论坛 C++教室

链表问题

sdj501 发布于 2009-10-27 16:43, 446 次点击
#include<iostream.h>
void main(void)
{
struct node{
    int data;
    struct node *next;
};
node *head,*p,*q,*s;
head=new struct node;
head->next=NULL;
p=head;
for(int i=0;i<5;i++)
{
    p->data=10*i;
    s=new struct node;
    p->next=s;
    s->next=NULL;
    p=s;
}
q=head;
while(q!=NULL)
{
   cout<<q->data<<endl;
   q=q->next;
}
}
为什么程序最后会输出一个随机数呢????
3 回复
#2
zodiac2072009-10-27 16:55
你看看你的循环,最后一个结点的DATA是没赋值的
#3
qlc002009-10-27 17:02
同意zodiac207,你for循环之前另外又新申请了一个结点空间。while(q->next!=NULL)这样的写就显示正常!
#4
sdj5012009-10-27 17:14
回复 3楼 qlc00
对哦,呵呵,最后一个节点没有赋值的,晕死了,谢谢你们啦!!!
1