Free考研资料 - 免费考研论坛

 找回密码
 注册
打印 上一主题 下一主题

谁帮我看看,错在哪?

[复制链接]
跳转到指定楼层
楼主
Alex2009 发表于 08-10-9 17:33:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <stdio.h>
#include <malloc.h>
#define NULL 0
#define LEN sezeof(struct student)
struct student
{
long num;
float score;
struct student *next;
};
int n;
struct studnt * 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);
}
main()
{
  creat();
}

为什么我有TUBOR C 编辑的时候出现N多错误啊?
沙发
haizzz 发表于 08-10-9 18:55:03 | 只看该作者
1.你的creat();有个返回值
2.TUBOR C都提示了什么你得说清楚呀
3.在主函数中最好把你建的链表用一个while循环给打印出来,来验证你的链表建的对不对
建议你在vc6.0试试
有什么问题我们在交流
板凳
calcedony 发表于 08-10-9 22:40:05 | 只看该作者
#include <stdio.h>
#include <malloc.h>
//#define NULL 0
#define LEN sizeof(struct student)

struct student
{
        long num;
        float score;
        struct student *next;
};

struct student * creat()
{
        struct student *head = NULL;
        struct student *p1,*p2;
        int n=0;
        p1=p2=(struct student*)malloc(LEN);
        int numb = 0;
        float scor = 0.0;
        scanf(\"%d,%f\", &numb, &scor);
        p1->num = numb;
        p1->score = scor;

        while(p1->num!=0)
        {
                n=n+1;
                if(n==1)        head = p1;
                else        p2->next = p1;
                p2 = p1;
                p1 = (struct student*)malloc(LEN);
                scanf(\"%d,%f\", &numb, &scor);
                p1->num = numb;
                p1->score = scor;
                p1->next = NULL;
        }
        p2->next = p1;

        return(head);
}

void output(struct student *head)
{
        struct student *p1 = head;

        while(p1!=NULL && p1->next!=NULL)
        {
                printf(\"%ld,%f\\n\", p1->num, p1->score);
                p1 = p1->next;
        }

        printf(\"\\nIt\'s the end!\\n\");
}

int main(int argc,char** argv)
{
        struct student *head = creat();
        output(head);

        return 0;
}
地板
calcedony 发表于 08-10-9 22:41:07 | 只看该作者
这个在VC6下通过
5#
 楼主| Alex2009 发表于 08-10-9 23:21:35 | 只看该作者

回复 #3 calcedony 的帖子

呵呵,谢谢你们了啊
6#
 楼主| Alex2009 发表于 08-10-9 23:23:10 | 只看该作者

回复 #2 haizzz 的帖子

嗯,谢谢啦
7#
 楼主| Alex2009 发表于 08-10-9 23:26:11 | 只看该作者
这个程序是我从谭浩强的C语言(第三版)上般下来的,建立单链表那章,可是我在TUBOR C上用的时候报告出错
8#
 楼主| Alex2009 发表于 08-10-9 23:33:00 | 只看该作者
是不是因为TUBOR C和C++3.0运行环境不同导致的啊?
9#
calcedony 发表于 08-10-10 01:28:07 | 只看该作者
个人对谭的C不是很看好
10#
calcedony 发表于 08-10-10 01:29:36 | 只看该作者
编译器不同,实现不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|Free考研资料 ( 苏ICP备05011575号 )

GMT+8, 24-12-26 03:06 , Processed in 0.185213 second(s), 12 queries , Gzip On, Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表