当前位置:  技术问答>linux和unix

请看看我的有关链表的程序

    来源: 互联网  发布时间:2014-11-24

    本文导语:  我建立和输出链表,然后遍历,在linux下用gcc编译通过,可是运行,提示:segmentation fault(core dumped)错误(是遍历函数有错),请帮我检查一下好吗? #define NULL 0 #define ERROR error #define LEN sizeof(struct student) struct st...

我建立和输出链表,然后遍历,在linux下用gcc编译通过,可是运行,提示:segmentation fault(core dumped)错误(是遍历函数有错),请帮我检查一下好吗?
#define NULL 0
#define ERROR error
#define LEN sizeof(struct student)
struct student
{long num;
 float score;
 struct student *next;
 };

main()
{int i_get;
 struct student *p;
 struct student *element;
 struct student *creat(void);
 void print(struct student *head);
 struct student *getitem(struct student *head,int i,struct student *e);
 p=creat();
 print(p);
 printf("nPlease input the sequence of element to get:");
 scanf("%d",&i_get);
 getitem(p,1,element);
 printf("n%ld %f n",element->num,element->score);
 }

/*creat linklist*/
struct student *creat(void)
{struct student *head,*p1,*p2;
 int n=0;
 head=NULL;
 p1=p2=(struct student *)malloc(LEN);
 printf("nPlese input the num and the score of student:n");
 scanf("%ld%f",&p1->num,&p1->score);
 while(p1->num!=0)
   {n++;
    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);
 }


/*input a linklist*/
void print(struct student *head)
{struct student *p_print;
 p_print=head;
 while(p_print!=NULL)
    { printf("%ld %fn",p_print->num,p_print->score);
      p_print=p_print->next;
      }
 }

/*Getitem*/
struct student *getitem(struct student *head,int i,struct student *e)
{struct student *p_get;
 int j;
 if(head==NULL)
  { 
    printf("nERROR!n");
    return ;
     }
 p_get=head;
 j=1;
 while(p_get&&jnext;
    j++;
     }
 if(!p_get||j>i) return ;
 e->num=p_get->num;
 e->score=p_get->score;
 e->next=NULL;
 return e;
 }

|
return 后面跟返回值,return ;表示return值是void.
linux下main函数的返回值应该是int型

|
element没malloc

    
 
 

您可能感兴趣的文章:

  • 请看下我的程序哪错了,谢谢
  • 请看这段程序如何运行?
  • 请看一下这个程序,有两个问题。谢谢
  • 我是java新手,请看下面这个程序中goal是什么东东?为什么没有定义还能够执行啊?
  • 请看:下面这个程序的运行结果是什么?为什么?
  • 救急!有做过解释程序的朋友请看看,进行语义分析时,如何设计文法的非终结符的属性!
  • 很菜鸟的问题: 请看我的servlet的helloworld.java程序编译时为什么出现这些错误??我用的是jdk,环境变量里面已经设置了servlet包。
  • 客户端 不能发送信息到服务器端?(在SOCKET)请看看下面这段程序有什么错?----客户端的发送信息服务器端收不了!
  • 朋友门,继续我们的讨论。这次我更新了源程序及出错提示,请看:(再线等待)
  • linux下驱动失败,请看程序 /dev/simple_char
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关注ejb培训的请看过来,开课在即,欲报名赶紧联系!
  • JBUILDER高手请看
  • 请看看(20分)
  • servlet加weblogic高手请看看
  • 怪怪问题,请看。
  • 路人甲请看这个问题。。分数随你开。。。。
  • 求助!请看一下。
  • 请看一下!
  • 请看,这是什么意思?
  • 请看一下这个句简单的问题(关于Debug)
  • 提供一个jcreator pro 2.5下载的地方,需要的请看!(含注册码)
  • 请看看这个ftp有什么问题
  • 字符串能以流的方式保存到文件中吗?请看这个问题
  • 如何比较时间大小,,请看!!
  • 能者请看!多多益善!
  • 高手请看过来,我有些问题,我是新手.关于线程的!
  • 高手请看
  • 请看我这个String[]的错误
  • 安装QMAIL出错,请看看
  • 请看!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3