标题:为什么这段代码打印出来的不是数字,而是地址,链表插入的
只看楼主
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
结帖率:69.23%
已结贴  问题点数:20 回复次数:13 
为什么这段代码打印出来的不是数字,而是地址,链表插入的
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;
typedef struct node{
    ElemType data;
    struct node *next;
} LinkList;

void creat(LinkList *&L)
{
    L=(LinkList *)malloc(sizeof(LinkList));
    L->next=NULL;
}
void Insert(LinkList *L,ElemType e)
{
    LinkList *s=NULL;
    LinkList *p=L;
    s=(LinkList*)malloc(sizeof(LinkList));
    s->data=e;
    s->next=p->next;
    p->next=s;
}
void display(LinkList *L)
{
    LinkList *p=L->next;
    while(p!=NULL)
    {
        printf("%d\n",p->data);
        p=p->next;
    }
}
int main()
{
    LinkList *L=NULL;
    int a,b,c;
    creat(L);
    scanf("%d%d%d",a,b,c);
    Insert(L,a);
    Insert(L,b);
    Insert(L,c);
    display(L);
    return 0;
}
搜索更多相关主题的帖子: display include 
2015-06-03 13:05
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
#include<stdio.h>
#include<stdlib.h>  
typedef int ElemType;
typedef struct node{
    ElemType data;
    struct node *next;
} LinkList;

LinkList *creat(LinkList *L)
{
    L=(LinkList *)malloc(sizeof(LinkList));
    L->next=NULL;
    return L;
}
void Insert(LinkList *L,ElemType e)
{
    LinkList *s,*p=L;
    s=(LinkList *)malloc(sizeof(LinkList));
    s->data=e;
    s->next=p->next;
    p->next=s;
}
void display(LinkList *L)
{
    LinkList *p=L->next;
    while(p!=NULL)
    {
        printf("%d\n",p->data);
        p=p->next;
    }
}
int main()
{
    LinkList *L;
    int a=1,b=2,c=3;
    L=creat(L);
//   scanf("%d%d%d",&a,&b,&c);
    Insert(L,a);
    Insert(L,b);
    Insert(L,c);
    display(L);
    return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2015-06-03 13:24
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
能说下我的代码错哪里了吗?
2015-06-03 13:26
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:0 
这是什么东东
void creat(LinkList *&L)

人有多懒,编程就有多难。
2015-06-03 13:33
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
这个是李春葆的数据结构的书里面写的代码
我刚才试了一下在不同的编译器,就是vs上面运行
我的代码可以运行了,不过是头插法,就是数据倒过来了
改成尾插法又不行了输入1 2 3 只有输出 3
2015-06-03 13:38
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;
typedef struct node{
    ElemType data;
    struct node *next;
} LinkList;

void creat(LinkList *&L)
{
    L = (LinkList *)malloc(sizeof(LinkList));
    L->next = NULL;
}
void Insert(LinkList *L, ElemType e)
{
    LinkList *s = NULL;
    LinkList *p = L;
    if (p != NULL)
    {
        s = (LinkList*)malloc(sizeof(LinkList));
        s->data = e;
        p->next = s;
        p = s;
    }
    s->next = NULL;
}
void display(LinkList *L)
{
    LinkList *p = L->next;
    while (p != NULL)
    {
        printf("%d\n", p->data);
        p = p->next;
    }
}
int main()
{
    LinkList *L = NULL;
    int a=0, b=0, c=0;
    creat(L);
    scanf_s("%d%d%d", &a, &b, &c);
    Insert(L, a);
    Insert(L, b);
    Insert(L, c);
    display(L);
    return 0;
}
2015-06-03 13:38
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:0 
以下是引用NeQhk在2015-6-3 13:38:38的发言:


我刚才试了一下在不同的编译器,就是vs上面运行
我的代码可以运行了,


不相信你的代码可以运行

人有多懒,编程就有多难。
2015-06-03 13:47
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
真的,只不过在我的代码的输入基础上加了去地址符号&
2015-06-03 13:57
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
然后scanf_s 写成这种形式就可以运行了。没错
2015-06-03 13:58
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
得分:0 
能不能帮看下为什么尾差法只有输出3 ,1 2,跑哪里去了
2015-06-03 13:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446130-1-1.html




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

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