关于指针的问题(问题应该出在指针吧)
#include <stdio.h>#define N 3
struct student
{
char name[10];
float chinese;
float math;
float english;
float total;
};
struct student *sum()
{
struct student score[N],*ptr;
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d位学生姓名:",i+1);
scanf("%s",score[i].name);
printf("%s请输入该生的语文 数学 英语成绩:",score[i].name);
fflush(stdin);
scanf("%f%f%f",&score[i].chinese,&score[i].math,&score[i].english);
score[i].total=score[i].chinese+score[i].math+score[i].english;
}
ptr=&score[0];
return (ptr);
}
void main()
{
int i;
struct student *ptr;
ptr=sum();
for(i=0;i<N;i++)
{
printf("%s的成绩为:%.2f\n",ptr->name,ptr->total);
ptr++;
}
}
运行后名字为乱码···第二 三个成绩算不出·····
求解~~谢谢啦