求数据结构高手。。。。看看以下代码的错误和修改,万分感谢!!!!!!!!

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef int elmentype;
typedef struct node
{
elmentype data;
struct node *next;
}link;
link *l,*a,*head;
link creat(int n)
{
link *s,*p=NULL;
for(int i=1;i<=n;i++)
{
s=(link *)malloc(sizeof(link));
printf("请输入%d个元素的值",i);
scanf("%d",&s->data);
s->next=p;
p=s;
}
return *l;
}
void display(link *head)
{
link *q;
q=head->next;
while(q!=NULL)
{
printf("%d",q->data);
q=q->next;
}
printf("\n");
}
void main()
{
link creat(int n);

int m;
printf("请输入链表的长度");
scanf("%d",&m);
*a=creat(m);
display(head);
}

主要问题有两个(1)create函数里的返回值I是哪来的,应该返回p,p指向第一个节点。
(2)主函数中调用creat函数给a,怎么到调用display()中就变成了head?
对于程序共修改4处,如下:
已通过vs2008验证可以得到结果,如果有问题请再问。希望采纳。
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef int elmentype;
typedef struct node
{
elmentype data;
struct node *next;
}link;
link *l,*a,*head;
link creat(int n)
{
link *s,*p=NULL;
for(int i=1;i<=n;i++)
{
s=(link *)malloc(sizeof(link));
printf("请输入%d个元素的值",i);
scanf("%d",&s->data);
s->next=p;
p=s;
}
return *p;//此句有改动(1)
}
void display(link *head)
{
link *q;
q=head;//此句有改动(2)
while(q!=NULL)
{
printf("%d",q->data);
q=q->next;
}
printf("\n");
}
void main()
{
link creat(int n);
head=(link *)malloc(sizeof(link));//增加此句(3)
int m;
printf("请输入链表的长度");
scanf("%d",&m);
*head=creat(m);//此句有改动(4)
display(head);

int i=2;

}
温馨提示:内容为网友见解,仅供参考
无其他回答

...求解答。(很重要,不会就别乱回答了。会追加分的,万分感谢...
a3,4是(4*6+4)*5=140 16进制为8C 地址为108C 5、我知道的快速排序版本就有3个,虽然算法几乎一摸一样的,不过对作支点的那个数的位置的互换略有不同,那么每轮的结果自然不一样,我好不容易找到原版教材的算法,是机械工业出版社的《数据结构、算法与应用 ——c++语言描述》版,但愿是...

问一道数据结构 求无向图和邻接表的习题
问一道数据结构 求无向图和邻接表的习题 麻烦老师讲解一下,万分感谢!!!设无向图有6个节点,依次输入的9条边为(1,2)(1,3)(1,5)(1,6)(2,3)(3,4)(3,5)(4,5)(5,6).1.画出... 麻烦老师讲解一下 ,万分感谢!!!设无向图有6个节点,依次输入的9条边为(1,2)(1,3)(1,5)(1,6)(2,3...

数据结构(c++)字符串 模式匹配算法问题,对高手来说只要写一点点_百度...
include <string> using namespace std;string s = "zabcdefg";int index1(const string ss, int pos){ if (pos<0 || pos>s.length())printf("pos²»ºÏ·¨£¡");int i = pos, j = 0;while (i < s.length() && j < ss.length()) { if...

请求高手帮忙:有结构体student定义,表示学生有关信息的描述(姓名、出生...
哦,因为是自己的电脑没装VC没法调试查错,我只说说你比较明显的错误吧,struct是定义一个结构体作为变量类型,定义结构体的格式时要用类似struct date{int year;int month;int day;};这样的形势,但是在定义结构体的实例时,直接用date x,y;就可以了,也就是定义了一个名为date的结构体类型,它和...

...数据结构代码发我邮箱812103432qq@.com,万分感谢!
dt[N][2]N为村庄数,dt[i][0]是第i个村庄在深度优先遍历下的进入时间(就是图中节点的左下角数值)dt[i][1]是第i个村庄在深度优先遍历下的离开时间(就是图中节点的右下角数值)这样问题是完全可以转化为区间包含问题的,因为 村庄i是村庄j的祖先,当且仅当区间(dt[i][0],dt[i][1]...

大专考试数据结构题
1 进栈,入栈,退栈 2 溢出 ,上溢,溢出,下溢 3 长度 4 生成树 算法 1 直接插入排序,稳定 2 r(O)有岗哨作用,改为x.key<=r(j).KEY,该算法不稳定了,能正确工作 应用题 1稠密索引文件查找记录:由于数据文件中记录不按关键字顺序排列,必须对每个记录建立一个索引记录(或索引项)。

数据结构对算法有什么影响?请大家帮帮忙,举例说明一下,万分感谢!
数据结构和算法有的地方是重合的,但是更多的数据结构是对算法的实现,就说动态规划吧这是经典 的算法但是要实现的话要利用数据结构的模型来实现,所以我认为数据结构是基础,把算法实现的途径

数据结构学什么
殷人昆:数据结构分逻辑结构和存储结构。逻辑结构是面向问题的,存储结构是逻辑结构的存储表示。通常所说的“数据结构”是指数据的逻辑结构,包括线性结构(线性表)和非线性结构(树、图、多维数组、广义表),存储结构包括一维数组、链接表、索引表、散列表。 问:广义表的递归算法 殷人昆:广义表的读归算法看书。不知你要问...

超级实用!React-Router v6实现页面级按钮权限
在 Vue 中,使用 vueRouter 配置路由元信息,方便实现页面级别的按钮权限控制。而在 react-Router6 版本中,没有提供路由元信息配置,导致无法通过自定义路由属性获取权限数据。尝试添加路由自定义属性,获取权限数据时,代码报错。在 react-route6 中,无法自定义路由属性,导致错误。感谢阅读,读者朋友好...

求Java自学视频 从基础教程到进阶实例,万分感谢啊 。
详细,包含知识点多的,你可以看看动力节点java基础视频大全。里面有很多深入且精彩的讲解,比如源码分析分析讲的特别到位,尤其是HashMap的工作原理和源码分析,真正的把jdk源码翻了一遍,要是拿着这个去面试绝对是秒杀级神器。

相似回答
大家正在搜