#include <stdio.h>
#include <stdlib.h>
//构建链式表
typedef struct Lnode{
int date;
struct Lnode *next;
}Lnode,*LinkList;
//插入一整个链表(头插法)
void CreateList_H(LinkList L,int n){
L=(Lnode*)malloc(sizeof(Lnode));
L->next=NULL;
int i;
for(i=0;i<n;i++){
LinkList p=(Lnode*)malloc(sizeof(Lnode));
scanf("%d",&p->date);
p->next=L->next;
L->next=p;
}
}
int main()
{
int i,j;
scanf("%d",&i);
LinkList L,q;
CreateList_H(L,i);
q=L->next;
for(j=0;j<i;j++){
printf("%d",q->date);
q=q->next;
}
return 0;
}
程序一运行就卡死,感觉是传参有问题,求解答
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-18 22:08关注
链表的头结点没有返回。
代码修改如下:#include <stdio.h> #include <stdlib.h> //构建链式表 typedef struct Lnode{ int date; struct Lnode *next; }Lnode,*LinkList; //插入一整个链表(头插法) LinkList CreateList_H(LinkList L,int n){ //返回链表头 L=(Lnode*)malloc(sizeof(Lnode)); L->next=NULL; int i; for(i=0;i<n;i++){ LinkList p=(Lnode*)malloc(sizeof(Lnode)); scanf("%d",&p->date); p->next=L->next; L->next=p; } return L; } int main() { int i,j; scanf("%d",&i); LinkList L=0,q; L = CreateList_H(L,i); q=L->next; for(j=0;j<i;j++){ printf("%d",q->date); q=q->next; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法