c语言问题,见补充代码,创建和打印单链表,请帮我找找错误

#include<stdio.h>#include<stdlib.h>#defineok1#defineno0typedefintstatus;typedefintele... #include <stdio.h>
#include <stdlib.h>
#define ok 1
#define no 0
typedef int status;
typedef int elemtype;
typedef struct lnode
{
elemtype data;
struct lnode *next;
}lnode,*linklist;

void creat(linklist l,int n)
{
int i;
linklist p;
l=(linklist)malloc(sizeof(lnode));
l->next=NULL;
for(i=n;i>0;i--)
{
p=(linklist)malloc(sizeof(lnode));
scanf("%d",p->data);
p->next=l->next;
l->next=p;
}
}
void print(linklist l)
{
linklist p=l;
p=p->next;
while(p){printf("%d",p->data);p=p->next;}
}

int main()
{
linklist l;
creat(l,3);
print(l);
return 0;
}
展开
 我来答
三天打鱼N
2017-09-26 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:611万
展开全部
#include <stdio.h>
#include <stdlib.h>
#define ok 1
#define no 0
typedef int status;
typedef int elemtype;
typedef struct lnode
{
elemtype data;
struct lnode *next;
}lnode, *linklist;

void creat(linklist l, int n)
{
int i;
linklist p;

for (i = n; i>0; i--)
{
p = (linklist)malloc(sizeof(lnode));
scanf("%d", &p->data);//取址
l->next = p;//链接到列表的后面
l = p;
}
l->next = NULL;
}
void print(linklist l)
{
linklist p = l;
p = p->next;
while (p) { printf("%d  ", p->data); p = p->next; }
}

int main()
{
linklist l = (linklist)malloc(sizeof(lnode));//先赋值

creat(l, 3);
print(l);
int c;
scanf("%d", &c);
return 0;
}
更多追问追答
追问
抱歉,还是报错
追答
我测试过的,你是不是输入了非整数内容了?你把我的复制进去试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式