标题:新手,请大佬看看这个生成单链表,为什么输出后还有一串数???
取消只看楼主
z1145674456
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-12-27
结帖率:0
已结贴  问题点数:20 回复次数:2 
新手,请大佬看看这个生成单链表,为什么输出后还有一串数???
这个单链表输出,都会带一段数字,前面的数符合条件了,可是后面还有一段数,不明白怎么出现的,链表为我也赋值空指针了,测试输出循环体也是循环了符合条件的次数,请大佬教教新手。
程序代码:
#include<stdio.h>
#include<malloc.h>
typedef struct node{
    int key;
    struct node *next;
}nodetype;
nodetype* inicial(nodetype* base);
void print(nodetype* base);
int main(){
    nodetype *base=NULL;
    int n;
    base=inicial(base);
    print(base);
    return 0;
}

nodetype* inicial(nodetype* base){
    nodetype *q=NULL,*p=NULL;
    int x;
    q=(nodetype*)malloc(sizeof(nodetype));
    base=q;
    p=base;
    scanf("%d",&x);
    do{
        p->key=x;
        q=(nodetype*)malloc(sizeof(nodetype));
        p->next=q;
        p=p->next;
        p->next=NULL;
        scanf("%d",&x);
    }while(x!=0);
    p->next=NULL;
    return base;
}
void print(nodetype* base){
    nodetype *tmp=base;
    while(tmp!=NULL){
        printf("%d",tmp->key);
        tmp=tmp->next;
    }
}


输入 5 4 2 1 3 0           应该输出 54213
可是却输出543211726400
另一道删除节点的题,也是相同的差不多的给链表赋值,和输出也是这样的问题。
搜索更多相关主题的帖子: base 输出 next 单链表 NULL 
2020-12-27 20:33
z1145674456
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-12-27
得分:0 
回复 楼主 z1145674456
程序代码:
#include<stdio.h>
#include<malloc.h>
typedef struct node{
    int key;
    struct node *next;
}nodetype;
nodetype* inicial(nodetype* base);
void print(nodetype* base);
int main(){
    nodetype *base=NULL;
    int n;
    base=inicial(base);
    print(base);
    return 0;
}

nodetype* inicial(nodetype* base){  //赋值链表
    nodetype *q=NULL,*p=NULL;
    int x;
    q=(nodetype*)malloc(sizeof(nodetype));
    base=q;
    p=base;
    scanf("%d",&x);
    do{
        p->key=x;
        q=(nodetype*)malloc(sizeof(nodetype));
        p->next=q;
        p=p->next;
        p->next=NULL;
        scanf("%d",&x);
    }while(x!=0);
    p->next=NULL;
    return base;
}
void print(nodetype* base){  //输出
    nodetype *tmp=base;
    while(tmp!=NULL){
        printf("%d",tmp->key);
        tmp=tmp->next;
    }
}
2020-12-27 20:35
z1145674456
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-12-27
得分:0 
回复 3楼 apull
十分感谢,改成这样确实符合条件了,AC了,再仔细检查了原来最后一节节点申请了,但没赋值。输出一起输出了。
2020-12-28 21:55



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




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

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