#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define NULL 0
struct student /*定义结构体*/
{
int num;
struct student *next;
};
void main()
{
struct student *creat(int n); /*建立链表的函数声明*/
void print(struct student *head); /*输出链表的函数声明*/
struct student *head1;
int a;
printf("how many do you want to creat?\n");
scanf("%d",&a); /*输入链表中元素的个数*/
head1=creat(a);
print(head1);
system("pause");
}
struct student *creat(int n) /*建立链表函数*/
{
int m;
struct student *head;
struct student *p1,*p2;
m=0;
p1=p2=(struct student *)malloc(sizeof(struct student));
printf("please enter the first student's informationg,number first ,then name ,score last!\n");
scanf("%d",&p1->num);
head=NULL;
while(m<n-1)
{
m=m+1;
if(m==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct student *)malloc(sizeof(struct student));
printf("please enter the next student's information\n");
scanf("%d",&p1->num);
}
p2->next=NULL;
return(head);
}
void print(struct student *head) /*输出链表函数*/
{
struct student *p;
p=head;
if(head!=NULL)
do
{
printf("%10d",p->num);
p=p->next;
printf("\n");
}
while(p!=NULL);
}
链表问题,我输出不了全部值
最新推荐文章于 2022-10-25 00:04:45 发布