网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月08日漏签0天
c语言吧 关注:801,755贴子:4,375,234
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 24回复贴,共1页
<<返回c语言吧
>0< 加载中...

链表打印的问题,求大神解释啊

  • 只看楼主
  • 收藏

  • 回复
  • DM丶小蚁
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • DM丶小蚁
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
while(L!= NULL)
{
printf("%d",L->data);
L = L->next;
printf("\n");}
为什么总出现其他的数据


2026-01-08 22:04:50
广告
不感兴趣
开通SVIP免广告
  • 团长大人的团
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
解释什么。。。


  • 一周休七日
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你应该检查其他代码…


  • 倚楼听风雨36
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一班都不会是打印这里的问题, 有可能是初始化,或者是创建链表的时候,头指针返回的问题.
楼主应该看看链表建立的代码.


  • DM丶小蚁
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void CreateList(LinkList L,int n){//链表的创建
L = (LinkList)malloc(sizeof(LinkList));//建立头节点
L->next = NULL;
LinkList s;//r指针动态指向链表的当前表尾部,以便用来尾插入,其初值指向头节点
int c;//c控制是否继续生成新结点,
printf("Please input datas:");
for(c=n;c>0;c--) {
s = (LinkList)malloc(sizeof(LinkList));//新结点
scanf("%d",s->data);
s->next = L->next;
L -> next = s; }
}
实在找不到啊@倚楼听风雨36 @一周休七日I


  • 一周休七日
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
s->next = L->next; 如果不是循环的话没什么问题,问题是这是循环……


  • 昌大少年
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
循环没有问题,你输入 三个数据再测试下


2026-01-08 21:58:50
广告
不感兴趣
开通SVIP免广告
  • DM丶小蚁
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
typedef struct LNde
{ElemType data;
struct LoNode *next;
} *LinkList;
你看看@倚楼听风雨36I


  • 倚楼听风雨36
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主还是把完整的代码全部贴出来,这样看比较快.


  • DM丶小蚁
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>#include<stdlib.h>
#define OVERFLOW -1 //返回OVERFLOW表示存储分配失败
#define OK 0 //存储分配成功
#define ERROR -1
#define ElemType int
typedef struct LinkList
{ElemType data;
struct LinkList *next;}
*LinkList;
void CreateList(LinkList L,int n){//链表的创建
L = (LinkList)malloc(sizeof(LinkList));//建立头节点
L->next = NULL;
LinkList s,r;//r指针动态指向链表的当前表尾部,以便用来尾插入,其初值指向头节点
int c;
r= L;//c控制是否继续生成新结点,
printf("Please input datas:");
for(c=0;c<n;c++)
{
s = (LinkList)malloc(sizeof(LinkList));//新结点
scanf("%d",&s->data);
s->next = r->next;
r -> next = s;
r=s; }
s->next=NULL;}
void PrintList(LinkList head){
LinkList p;
printf("\n当前单链表的具体数据为:");
p=head;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");}
main()
{
LinkList head ;
CreateList(head,5);
PrintList(head);
}
I


  • 倚楼听风雨36
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>
#include<stdlib.h>
#define OVERFLOW -1
#define OK 0
#define ERROR -1
#define ElemType int
typedef struct LinkList
{
ElemType data;
struct LinkList *next;
}*LinkList;
LinkList CreateList(LinkList L,int n)
{
L = (LinkList)malloc(sizeof(struct LinkList));
L->next = NULL;
LinkList s,r;
int c;
r= L;
printf("Please input datas:");
for(c=0; c<n; c++)
{
s = (LinkList)malloc(sizeof(struct LinkList));
scanf("%d",&s->data);
// s->next = r->next;
r -> next = s;
r=s;
}
s->next=NULL;
return L->next; //由于是带有头结点的链表,注意这里的返回值.
}
/*void CreateList(LinkList L,int n) { L = (LinkList)malloc(sizeof(LinkList)); L->next = NULL; LinkList s,r; int c; r= L; printf("Please input datas:"); for(c=0; c<n; c++) { s = (LinkList)malloc(sizeof(LinkList)); scanf("%d",&s->data); s->next = r->next; r -> next = s; r=s; } s->next=NULL;}*/ // 这是你的源代码,我没删掉
void PrintList(LinkList head)
{
LinkList p;
printf("\n链表元素为:\n");
p=head;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");}
int main(void)
{
LinkList head ;
head=CreateList(head,5);
PrintList(head);
return 0;
}
I


  • 倚楼听风雨36
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是效果


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 24回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示