建立三个学生的单链表试试感觉

来源:互联网 发布:微信推送表情包 知乎 编辑:程序博客网 时间:2024/06/07 02:36
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define LEN sizeof(struct student)

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<3)
    {
       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;
}

int main()
{
    struct student*head,*p;
    p = head =creat();
    while(p!=NULL)
    {
      printf("%ld,%f\n",p->num,p->score);
       p = p->next;
    }
    return 0;
}

0 0
原创粉丝点击