主题:我们西电软院的作业! 链表的,牛人来啊!
Chopin
[专家分:0] 发布于 2010-03-20 20:58:00
本人小白,这是我写的,请高手看看我哪些地方不对,不用你重写个啦,谢谢!! 目的:建立一个链表,然后再输出这些链表结点里的元素值
问题:输入好元素值后,输出有问题,一是输出的值很奇怪,二是程序崩溃
希望高人指点 谢谢!
#include <stdio.h>
#include <malloc.h>
#define N 3 //假设建立3个结点的链表
typedef struct LNode{ //线性表 LNode
int data;
struct LNode *next;
}LNode;
CreatLNode(LNode *L,int n) //逆序建立带头结点的链表
{
LNode *p;
int i;
L=(LNode*)malloc(sizeof(LNode));
L->next=NULL;
for(i=n;i>0;--i)
{
p=(LNode*)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
}
int main()
{
LNode L;
LNode *p;
int i,;
CreatLNode(&L,N);
p=&L; //错误 估计就在这些地方
for(i=0;i<N;++i) //然后把刚建立的链表里的元素值输出
{
printf("%d",p->data);
p=p->next;
}
system("PAUSE");
return 0;
}
回复列表 (共30个回复)
11 楼
雪光风剑 [专家分:27190] 发布于 2010-03-20 23:34:00
我只是被绕晕了,一开始判断是对的
函数没必要传头结点的引用,直接传一个指针类型的头结点进去分配内存就可以了
至于cxxcomp的代码,我确实不知道lz为什么认为是c++
typedef这是再明显不过的C风格了吧,C++风格完成同样的任务肯定是class STL这系列的路数
12 楼
雪光风剑 [专家分:27190] 发布于 2010-03-20 23:44:00
[quote]做这样的链表时候一定要设置一个头结点head,这样才不至于遍历完整个链表时找不到头结点在哪里![/quote]
也不一定,看应用了
比如如果读写链表的方式都是调用传首节点指针的函数,那没有头结点也无所谓,因为不会被改写
13 楼
cxxcomp [专家分:2370] 发布于 2010-03-21 00:51:00
[quote]我只是被绕晕了,一开始判断是对的
函数没必要传头结点的引用,直接传一个指针类型的头结点进去分配内存就可以了
至于cxxcomp的代码,我确实不知道lz为什么认为是c++
typedef这是再明显不过的C风格了吧,C++风格完成同样的任务肯定是class STL这系列的路数[/quote]
如果不用头结点的引用,那函数就不需要在head = malloc(...); 不过,我追求接口的简洁,对比下,使用引用和不用引用的 main 的调用方式上差异。
14 楼
Chopin [专家分:0] 发布于 2010-03-21 01:21:00
冷静下来后,我为我之前写的侮辱性词感到抱歉!
当时其实就想到发这番话会牵扯到我的学校的,但还是忍不住发了出来。
但是,Yu Wang,你要知道,我之前没说你什么,但你却一直鄙视我,最后还鄙视到我们学校!
骂人是我的错,我承认,但你之前发的言论难道不伤人?
15 楼
cxxcomp [专家分:2370] 发布于 2010-03-21 01:49:00
楼上的忘薄阳同学:
如果,我对你开骂,实属是件无聊之极的事,不过,看了你的回帖,确实又觉得你愚蠢之极,人确实可以什么都不顾,但别让别人看的一文不值。你说你中学毕业的西工大附中也算是西安市比较不错的学校,现在就读的西安电子科技大学当然也更是可以说的过去的学校,而且还是大一,成绩也不错,基本还都是中上,家庭条件也不错哦,可道德品质咋就这么差呢?如果你还想继续深造,上面你拉的那堆垃圾麻烦你想办法处理掉。不是我在乎,是你,如果,大家都知道这些垃圾(很觉得你呕吐的水平比编程高的多)是出自你的口腔,我不知道对你是否会有影响。
我郑重的警告你,不要给西工大附中摸黑,不要给电子科技大学摸黑,更不要给朴实的陕西人丢脸。一个人技术可以不会,但不要做丢人的事。你可以什么都不顾,我不反对,那您继续。我可以认为西电软院改为动物园而已。你挺不配学软件专业的。因为道德品质不行。
16 楼
cxxcomp [专家分:2370] 发布于 2010-03-21 02:18:00
另外,我在补充一点,建议你以后不要在去碰音乐了,你不配啊,知道么?!敲出那么多污言秽语的手再去敲琴键,是一种罪过。我实在想不出一个人丑陋的一面是怎么隐藏在光滑略微带些小豆豆的躯壳之内的。那么多美妙的乐曲不要在去玷污了。你该知道我的意思。
17 楼
cxxcomp [专家分:2370] 发布于 2010-03-21 03:50:00
别的不多说了,着实令人气愤!我保留把此贴发至西电的权利。要问问段宝岩校长,偌大的西电就培养出这么个学生?那些污言秽语是否是西电教的?大一就这样,毕业后会是什么样?我确实需要西电给个答复,都是教授导师的,该让他们看看上面的那些辞藻。(029)88204294是你们学院的吧 家住西安市莲湖区的是你吧 OK.不多说了,不多说了。你放心,这事儿咱不算完,你有能耐继续,我一并提交。看看是你骂人的能耐大,还是你学校的名誉大。不信你继续。容你,我对不起西电的国家示范性软件学院的名声。
18 楼
Chopin [专家分:0] 发布于 2010-03-21 09:05:00
发到我学校?
楼上的也太牛了,你自己看吧,我还是那句,
骂人是我的错,但你的态度很让我气愤,尤其嘲笑到我们学校。
19 楼
cxxcomp [专家分:2370] 发布于 2010-03-21 10:25:00
该备的我备了,该说我也说了。你气愤?你呕吐的那些话,我反着给你,你恐怕不是气愤了吧?另外,嘲笑你们学校?不要狗血喷人了!对于西电,你未必有我熟悉。既然热爱自己的学校,就不要忘了自己的一言一行代表的是谁。事实上,侮辱你们学校的是你,不是我。太牛了?太牛的在后头。不给你学校,我对不起你的能耐。其他的就不用再扯淡了。
20 楼
强强 [专家分:4740] 发布于 2010-03-21 10:58:00
CXXCOMP兄是个挺好的人,况且也没有什么太激烈的言辞,楼主怎么能骂人呢?水平不行就得接受批评,这样才能进步.
我来回复