问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言链表的输入求指导,纠结了好久

发布网友 发布时间:2022-04-26 07:15

我来回答

2个回答

热心网友 时间:2023-10-08 21:21

//说实话,感觉你对链表的整体流程不太熟悉.
//一个简单但完整的单向链表
#include <stdio.h>
#include <stdlib.h>

struct node             //定义结构体 
{
    int data;           //存放数据 
    struct node* next;  //指向下一个结点 
};
  
struct node* Create()   //新建结点并初始化 
{
    struct node* n=(struct node*)malloc(sizeof(struct node)*1);
    n->data=-1; 
    n->next=NULL;
    return n;
}
  
int main()
{
    struct node *head=NULL,*p=NULL;
    int in;
    while(1)
    {
        fflush(stdin);                     //清空输入缓冲区 
        scanf("%d",&in);
        if(in==-1) break;                  //如果输入的是-1则表示用户结束输入 
        struct node *new_node;
        new_node=Create();                 //新建结点 
        new_node->data=in;                 //把用户输入的数据存储入新结点中 
        if(head==NULL)                     //如果头结点为空,则把当前新结点当成头结点 
        {
            head=new_node;
            p=head;                        //当前指向为头结点 
        }
        else                               //如果头结点不为空 
        {
            p->next=new_node;              //把上一个结点的next指向新建结点 
            p=p->next;                     //当前指向为新结点 
        }
    }
    p=head;                                //重新指向头结点,以便输出 
    while(1)
    {
        printf("\n%d",p->data);            //输出数据字符串 
        if(p->next==NULL) break;           //如果当前结点没有指向下一个结点,则退出 
        p=p->next;                         //当前指向下一个结点 
    }
    return 0;
}

追问我刚刚学链表写了个练习程序。。。我想知道为什么我用scanf不能把int型数据输进链表去呢

追答你写得全乱了, Build函数只是为了给输入的数据造一个空的房子, 结果你一下在build函数中把整个链表全写好了

热心网友 时间:2023-10-08 21:21

你把中间的main中间的build()去掉。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
若cpu一秒执行n次运算需耗能5w,那执行2n次运算要耗能是大于小于还是等于... 大神们,N5G跟N5W哪里不一样? 刚出生的婴儿会感冒吗 刚出生宝宝感冒的症状 怀庄永佳福代理,什么品牌白酒好呢? 做白酒品牌代理,有怀庄永佳福牌子怎么样? 怀庄永佳福白酒喝得人多吗?代理怎么样? 为什么很多女性都把男闺密当作结婚对象? 关于电影“罗生门”的问题 实际利率法是指什么 c语言实现链表的输入 C语言链表创建和输入 C语言链表的输入 《食品安全法实施条例》规定,餐饮服务许可的有效期为几年? 餐饮服务许可的有效期为几年? 餐饮服务许可证的有效期为几年? 美的电饭煲显示“e”是怎么回事? 餐饮服务许可证的有效期是多少年? 美的电压力锅坏了怎么修理 度蜜月是什么意思啊??老婆说结婚要去度蜜月 是什么 旅行结婚和度蜜月有什么不同吗? 去度蜜月英文怎么说 你觉得新婚之后一定要去度蜜月吗? ? 关于“度蜜月”的句子有哪些? 度蜜月一般几天最好呢? 新婚夫妻要度蜜月吗? 度蜜月是多久 度蜜月是什么意思啊 度蜜月是为什么? 度蜜月一般做什么? C语言链表的输入输出 C语言数据结构 如何建立单向循环链表并且输入值 c语言链表输入问题 C语言链表输入输出 C语言,为什么在输入链表数据的时候总是报错? 关于C语言链表插入数值的问题 C语言 建立链表输入学生信息然后输出 哪里错了. C语言单向链表的创建,输入,插入和删除的实现 一道c语言链表输入问题菜鸟题 C语言链表输。数据输入完成了,输出的时候只能输出最后一个,求指导:) C语言链表输入打印多项式 c语言 双向链表的初始化和输入 C语言链表输入并显示的问题,急啊!! 厦门法院强化诉调对接有什么作用? 市级法院分哪些部门(科室) 什么是中国民生银行消保委员会报告事项工作程序? 研究农民工犯罪的理由或意义是什么? 镇江法院下午上班时间 最高法工作报告普遍建立一站式多元解纷机制的成效怎么样? 南京市江宁区人民法院的所获荣誉