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

简单静态链表 编译可以 运行不了求解

於晓琪123 发布于 2014-11-30 00:12, 659 次点击
#include <iostream>
using namespace std;
struct node
{
    int date;
    node *next;
};
int main()
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
    node *p,*head;
    int i=0;
    head=p;
    for(i;i<10;i++)
    {
        p->next=new node;
        p=p->next;
        p->date=rand();
    }
    p->next=0;
    while(p->next=0)
    p=head->next;
    {cout<<p->date<<endl;
    p=p->next;
    }

    return 0;
}
编译能通过  但运行不了;
我的目的是随机数组成一个链表
然后链表输出。这个算是静态链表吧   。 我哪个地方错 了   ,
6 回复
#2
stop12042014-11-30 07:50
p->date=rand();

rand(); // 需要头文件 cstdlib 支持
#3
qwe8851677592014-11-30 08:27
while语句范围
有点问题,你看一下
#4
於晓琪1232014-11-30 14:09
回复 2 楼 stop1204
还是不行
#5
於晓琪1232014-11-30 14:10
回复 3 楼 qwe885167759
#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
struct node
{
    int date;
    node *next;
};
int main()
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
    node *p,*head;
    int i=0;
    head=p;
    for(i;i<10;i++)
    {
        p->next=new node;
        p=p->next;
        p->date=rand();
    }
    p->next=0;
    while(p!=0)
    {cout<<p->date<<endl;
    p=p->next;
    }

    return 0;
}
这样还是不行。 你觉得要怎么改
#6
於晓琪1232014-11-30 22:44
我知道了 要在给head=p这里给他们一个地址   head=p=new node;接下来才行   不过还是谢谢了。
#7
word1232014-12-05 21:50
#include <iostream>
using namespace std;
struct node
{
    int date;
    node *next;
};
int main()
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
    node *p,*head;
    int i=0;
    p=new node;
    head=p;
    for(i;i<10;i++)
    {
        p->next=new node;
        p=p->next;
        p->date=rand();
    }
    p->next=0;
    p=head;
    while(p->next != 0)
    {
        p=p->next;
        cout<<p->date<<endl;
    }

    return 0;
}
1