#include <string.h>
# include "stdlib.h"
#define LEN sizeof(struct stu)
struct stu
{
long num
char name[20]
char sex
int age
char addr[30]
struct stu *next
}
int main()
{
int n
struct stu *head
struct stu *p1,*p2
head=(struct stu*)malloc (LEN)
head->next=NULL
p1=head
p2=(struct stu*)malloc (LEN)
p2->next=NULL
printf("学号\t姓名\t性别\t年龄\t住址\n")
scanf("%ld,\t%s,\t%c,\t%d,\t%s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr)
while(p2->num!=0)
{
p1->next=p2
p1=p2
fflush(stdin)
p2=(struct stu*)malloc (LEN)
printf("学号\t姓名\t性别\t年龄\t住址\n")
scanf("%ld,%s,%c,%d,%s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr)
}
}
纯手打,希望采纳。
struct student{char name
int number
struct student *next
}
这样你定义了三个字段,姓名,number
我不知道你为什么这么定义,如果是我可能这么定义
struct student {
char name/*学生姓名*/
int 性别/*1代表femail (女性), 0 代表mail(男性)*/
int age
struct student *next/*为了用链表实现而采用*/
};
这样完全可以实现你需要的数据类型.只需要再加上一些算法就可以了.
如果还有什么问题可以与我联系.
一般工业上都会使用 typedef 来定义公司内部的统一定义如
typedef struct student {
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)