思索无果问人也无果,结构数组的小问题
题目的愿意是输入5位学生姓名、数学和成绩,按平均分排序,输出平均分最高的学生的姓名及其数学和英语成绩。于是先测试下基本的能不能做对,结果是输入似乎没问题,但输出则一直是乱码,在单步调试中就是最后的输出错误了。
程序代码:#include<stdio.h>
int main(void)
{
struct student{
char name[50];
int math,eng;
float aver;
}test[3];
int i;
for(i=0;i<3;++i)
scanf("%s%d%d",test[i].name,&test[i].math,&test[i].eng);
printf("%s%d%d",test[i].name,test[i].math,test[i].eng);
return 0;
}这里是测试的代码,本来输入的name那也加了&,别人说都不要加,后来看了下书发现就name加了,可能是字符型本身就是地址。以下是程序结果:




