思索无果问人也无果,结构数组的小问题
题目的愿意是输入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加了,可能是字符型本身就是地址。
以下是程序结果: