一个关于结构体的问题
#include "stdio.h"#include "stdlib.h"
#include <conio.h>
#define LEN sizeof(struct students)
typedef struct students
{
int id;//学号
char name[20];//名字
char sex[10];//性别
float score[5];//存放学生5门成绩
float sum;//总分
float ave;//平均分
int rank;//名次
struct students *next;
}STU;
STU *creat_record()
{ int i,n=1;
char command;
STU *head,*p1,*p2;
p1=p2=(STU*) malloc(LEN);
//p1->sum=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3]+p1->score[4];
//p1->ave=p1->sum/5;
system("cls");
printf("\n请输入相关信息。。。。\n");
printf("\n学号:");
scanf("%d",&p1->id);
printf("\n姓名:");
scanf("%s",p1->name);
printf("\n性别:");
scanf("%s",p1->sex);
printf("\n5科的学分(以空格隔开):\n");
scanf("%d%d%d%d%d",&p1->score[0],&p1->score[1],&p1->score[2],&p1->score[3],&p1->score[4]);
p1->sum=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3]+p1->score[4];//这个式子错了吗???还有下面这个
p1->ave=p1->sum/5;
printf("\n总分:%0.2f 平均分:%0.2f",p1->sum,p1->ave);//为什么这里输出的是0
getch();
}
main()
{
creat_record();
}