| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1172 人关注过本帖
标题:想不到创建单链表都令我抓狂,求代码改错。
只看楼主 加入收藏
千马弈
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-3-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
想不到创建单链表都令我抓狂,求代码改错。

各位大神,刚学数据结构,写了一段创建单链表的代码,但在vc6.0编译不过,很郁闷。
各位看看,能帮我改一下吗?
#include <stdio.h>
#include <malloc.h>
#include<stdlib.h>
#define NUll 0

typedef struct LNode{
    int data;
    struct LNode *next;
}LinkList;




 void InitList(LinkList *p)
{LinkList *L;
L=(LinkList*)malloc(sizeof(LinkList));
L->next=NULL;
}


 void CreatLIst(LinkList *L,int n)
{
 
InitList(LinkList *L);
LinkList *p;
int i;
for(i=n;i>0;i--)
{p=(LinkList*)malloc(sizeof(LinkList));
scanf(&p->data);
p->next =NULL;
L->next=p;
}


void main()
{}










搜索更多相关主题的帖子: next void include 
2012-03-25 11:11
千马弈
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-3-22
收藏
得分:0 
这是编译错误提示

D:\C语言\danlianbiao\dan.cpp(25) : error C2275: 'LinkList' : illegal use of this type as an expression
        D:\C语言\danlianbiao\dan.cpp(10) : see declaration of 'LinkList'
D:\C语言\danlianbiao\dan.cpp(30) : error C2664: 'scanf' : cannot convert parameter 1 from 'int *' to 'const char *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
D:\C语言\danlianbiao\dan.cpp(37) : error C2601: 'main' : local function definitions are illegal
D:\C语言\danlianbiao\dan.cpp(49) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

dan.obj - 1 error(s), 0 warning(s)
2012-03-25 11:13
shuijiashui
Rank: 2
等 级:论坛游民
帖 子:43
专家分:85
注 册:2009-9-1
收藏
得分:10 
你程序不健壮,看看下面我写的,
typedef struct node
{
    int data;
    struct node *next;
}Node;
   
Node *head=NULL;

Node* create()
{
    Node *p,*tail;
    p=(Node*)malloc(sizeof(Node));//申请一个节点
    scanf("%d",&p->data);
    head=p;
    if(p->data==0)//若节点为0;则创建失败
    {
        free(p);
        head=NULL;
        tail=NULL;
        return head;
    }

    while(p->data!=0)//头结点创建成功后,接着申请节点
    {
        tail=p;
        p=(Node*)malloc(sizeof(Node));
        scanf("%d",&p->data);
        if(p->data!=0)
            tail->next=p;
    }
    free(p);//节点为0,则尾节点的next指针为null
    tail->next=NULL;
    return head;
}
   
int main()
{
    Node *p=create();
    return 0;
}
2012-03-25 22:43
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <malloc.h>
#include<stdlib.h>
#define NUll 0

typedef struct LNode{
    int data;
    struct LNode *next;
}LinkList;




void InitList(LinkList *p)
{LinkList *L;
L=(LinkList*)malloc(sizeof(LinkList));
L->next=NULL;
}


void CreatLIst(LinkList *L,int n)
{
    // 类型定义放在函数体开始处
    LinkList *p;
    int i;

    // 这儿传入形参即可
    //InitList(LinkList *L);
    InitList(L);
    for(i=n;i>0;i--)
    {
        p=(LinkList*)malloc(sizeof(LinkList));
        scanf("%d", p->data);
        p->next =NULL;
        L->next=p;
    }
}
   
   
void main()
{}

   

VC6编译通过了。用UltraEdit比较下,我只是帮你简单修改,可以编译,具体问题你自己调试吧。
2012-03-26 00:09
千马弈
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-3-22
收藏
得分:0 
谢谢,我懂了
2012-04-15 13:39
ran5515
Rank: 2
等 级:论坛游民
帖 子:11
专家分:20
注 册:2012-4-13
收藏
得分:0 
四楼牛人
2012-04-15 19:36
快速回复:想不到创建单链表都令我抓狂,求代码改错。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032482 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved