当前位置: 代码迷 >> C语言 >> 链表的问题
  详细解决方案

链表的问题

热度:135   发布时间:2006-10-21 20:43:21.0
链表的问题
#define NULL 0
#define LEN sizeof (struct student)
#include<malloc.h>
struct student
{
long num;
float score;
struct student * next;
};
int n;
struct student *creat (void) /*定义函数,此函数带回一个指向链表头的指针*/
{
struct student * head;
struct student * p1, * p2;
n=0;
p1=p2=(struct student * ) malloc(LEN); /*开辟一个新的单元*/
scanf ("%ld, %f", &p1->num, &p1->score);
head=NULL;
while (p1->num!=0)
{
n=n+1;
if (n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student *) malloc(LEN);
scanf ("%ld, %f", &p1->num, &p1->score);
}
p2->next=NULL;
return (head);
}

大家帮我看看这个错了吗?
搜索更多相关的解决方案: 链表  

----------------解决方案--------------------------------------------------------
我把你的程序运行了一下
LEN没有定义...说是第一次使用
我不晓得
然后我把len换成sizeof(int)
好是好了,但不知道要什么结果
哈哈
我是新手
----------------解决方案--------------------------------------------------------
我用VC,C-FREE,WIN-TC测试编译都通过的.
LEN是有定义的.把它换成int这个明显不行,这样就只分配了一个int的空间.
----------------解决方案--------------------------------------------------------
以下是引用fonction在2006-10-22 4:57:44的发言:
我把你的程序运行了一下
LEN没有定义...说是第一次使用
我不晓得
然后我把len换成sizeof(int)
好是好了,但不知道要什么结果
哈哈
我是新手

就是哦``` 我用VC就不可以啦.
为什么呢?


----------------解决方案--------------------------------------------------------

楼主的VC是英文版的?
所以才...


----------------解决方案--------------------------------------------------------

没有问题哦 我用VC++6.0 英文版的


----------------解决方案--------------------------------------------------------

编译的时候加一个<stdio.h>头文件就通过了,但不能运行程序...


----------------解决方案--------------------------------------------------------
  相关解决方案