下面是我写的程序,在tc里边可以运行,但是在vc6里边报内存错误,请大侠指点!

/*Note:YourchoiceisCIDE*/#include<stdio.h>#include<stdlib.h>structStudent{longnum;flo... /* Note:Your choice is C IDE */
#include<stdio.h>
#include<stdlib.h>
struct Student
{
long num;
float score;
struct Student *next;
};
//int n=0;
struct Student *creat() //建立链表函数//
{
long num1;
float score1;
struct Student *link,*p1,*p2;
link=(struct Student*)(sizeof(struct Student));

link->next=NULL;
p1=link;

p2=(struct Student * )malloc(sizeof(struct Student));

printf("please input the num and score!\n");
scanf("%ld,%f",&num1,&score1);
while((num1!=0)&&(score1!=0))
{
p2->num=num1;
p2->score=score1;
p2->next=NULL;
p1->next=p2;
p2->next=NULL;
p1=p1->next;
printf("please input the num and score!\n");
scanf("%ld,%f",&num1,&score1);
}
return link;

}

void print(struct Student *link)
{
struct Student *p;
// printf("\nNow,These%d records are:\n",n);
p=link;
while(p!=NULL)
{
printf("%ld%f\n",p->num,p->score);
p=p->next;
}
}

void main() //主函数//
{

struct Student *head;
head=creat(); //建立链表函数//
print(head); //调用函数出错 //输出链表以及表长函数//
}
展开
 我来答
沧海雄风2009
2013-06-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2838万
展开全部

第一

你的程序在TC下也编译不过 更不用说运行了

 

 

在VC6下能运行 但是运行出错崩溃

 

创建链表 连逻辑都不对

 

而且还有严重语法错误

 

 link=(struct Student*)(sizeof(struct Student));
 

 

改完后运行结果如下

 

自己对照着改

追问

我在wintc里边运行的没有问题,但是在cfree 里边运行就出问题!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式