C语言链表的基本问题

现在还不会链表啊,按着书上的看了遍,对着写了遍,就是编译不了,和书本上一样的。。#include<stdio.h>#include<string.h>#include<m... 现在还不会链表啊,按着书上的看了遍,对着写了遍,就是编译不了,和书本上一样的。。
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define N 3
#define LEN sizeof(struct grade)
struct grade
{
char no[7];
int score;
struct grade*next;
};
struct grade*create(void)
{
struct great*head=NULL,*new,*tail;
for(int i=1;i<=N;i++)
{
new=(struct grade *)malloc(LEN);
scanf("%s",new->no);
if(strcmp(new->no,"000000")==0)
{
free(new);
break;
}
scanf("%d",&new->score);
new->next=NULL;
if(i==1)head=new;
else tail->next=new;
tail=new;
}
return head;
}
int main()
{
struct grade*p;
int i;
p=create();
if(p!=NULL)
for(i=1;i<=N;i++)
{
printf("%s:%d\n",p->no,p->score);
p=p->next;
}
}
展开
 我来答
microroom
科技发烧友

2018-12-03 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1628万
展开全部
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define N 3
#define LEN sizeof(struct grade)
struct grade
{
char no[7];
int score;
struct grade*next;
};
struct grade*create(void)
{
//grade打错了
struct grade *head=NULL,*new,*tail;
for(int i=1;i<=N;i++)
{
new=(struct grade *)malloc(LEN);
scanf("%s",new->no);
if(strcmp(new->no,"000000")==0)
{
free(new);
break;
}
scanf("%d",&new->score);
new->next=NULL;
if(i==1)
head=new;
else tail->next=new;
tail=new;
}
return head;
}
int main()
{
struct grade*p;
int i;
p=create();
if(p!=NULL)
//for(i=1;i<=N;i++)
//注意这里的不同
for(i=1;p&&i<=N;i++)
{
printf("%s:%d\n",p->no,p->score);
p=p->next;
}
}
追问
编译还是错了。。13个错误。。。
PanClear
2018-12-03
知道答主
回答量:30
采纳率:0%
帮助的人:5.9万
展开全部
你要说报错信息出来呀,才能大概知道错在哪
追问

追答
这几个错应该都是同一个错误引起的。你看看第15行代码,是不是完全按照书本的敲了.
也许只是少了一个空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式