使用结构体和指针的程序总是出问题
编写一个程序,功能就是把其中工资最低的人的信息输出。程序代码:
struct person {char name[20]; int num; float salary; }per[8]; struct person fuc() {int i,imin=0;float s; for(i=0;i<8;i++) scanf("%s,%d,%f",&per[i].name,&per[i].num,&per[i].salary); s=per[0].salary; for(i=0;i<8;i++) if(s<per[i].salary) {s=per[i].salary;imin=i;} return(per[imin]); } main() {struct person par; par=fuc(); printf("%s\n%d\n%f\n",par.name,par.num,par.salary); }
再编写了一个寻找最高工资人的信息,但都有问题。
程序代码:
struct person {char name[20]; int num; float salary; }per[8]; struct person *fuc(struct person *pt) {int i,imax; float max=0.0; for(i=0;i<8;i++) if(per[i].salary>max) {max=per[i].salary;imax=i;} return(&per[imax]); } main() {struct person *ps;int i,j; for(i=0;i<8;i++) scanf("%s,%d,%f",per[i].name,per[i].num,per[i].salary); ps=fuc(per); printf("%s\n%d\n%f\n",par.name,par.num,par.salary); }