error C2223: left of '->sum' must point to struct/union求大神
答案:1 悬赏:40
解决时间 2021-04-08 04:42
- 提问者网友:剪短发丝
- 2021-04-07 19:52
#include<stdio.h>#define n 20struct student{ int num; char name[20]; float a[5]; float sum;};void main(){ int i=0,j,k,g,m; float s=0,f,(*pa)[n]; struct student per[n]; for(i=0;i<n;i++) { scanf("%s%d",per[i].name,&per[i].num); for(j=0;j<5;j++) { scanf("%f",&per[i].a[j]); s+=per[i].a[j]; } per[i].sum=s; printf("%3.2f",per[i].sum); } printf("\n"); pa=&per.sum; for(j=1;j<n;j++) { f=(pa+j)->sum; for(k=0;((pa+j)->sum)>=f;k++); for(m=j-1;m>=k;m--) { ((pa+m+1)->sum)=((pa+m)->sum); } (pa+k)->sum=f; } printf("从高到低排序\n"); for(i=0;i<n;i++) printf("%s%d%5.2f",per[i].name,per[i].num,per[i].sum); printf("请输入学号\n"); scanf("%d",&g); for(i=0,j=0;g!=per[i].num&&i<n;i++,j++); if(j<n) printf("%s%d%f\n",per[j].name,per[j].num,per[j].sum); else printf("无该人\n");}
最佳答案
- 二级知识专家网友:安稳不如野
- 2021-04-07 21:08
> 左边必须是个结构体的指针类型。。
如
struct time
{
int day;
int month;
int year;
}
time * pTime;
你才可以 pTime->day 这样写
如
struct time
{
int day;
int month;
int year;
}
time * pTime;
你才可以 pTime->day 这样写
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯