链表的问题
#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)
好是好了,但不知道要什么结果
哈哈
我是新手
我把你的程序运行了一下
LEN没有定义...说是第一次使用
我不晓得
然后我把len换成sizeof(int)
好是好了,但不知道要什么结果
哈哈
我是新手
就是哦``` 我用VC就不可以啦.
为什么呢?
----------------解决方案--------------------------------------------------------
楼主的VC是英文版的?
所以才...
----------------解决方案--------------------------------------------------------
没有问题哦 我用VC++6.0 英文版的
----------------解决方案--------------------------------------------------------
编译的时候加一个<stdio.h>头文件就通过了,但不能运行程序...
----------------解决方案--------------------------------------------------------