c语言,显示结构体里的元素没有定义错误
答案:1 悬赏:30 手机版
解决时间 2021-04-19 14:33
- 提问者网友:疯孩纸
- 2021-04-18 13:52
c语言,显示结构体里的元素没有定义错误
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-04-18 14:45
#include
#include
struct score
{char xh[10];
float bs;
float sj;
}*su;
void getscore(struct score *p)
{
int i;
printf("请输入学号");
gets(p->xh);
fflush(stdin);
while(1)
{
printf("请输入笔试成绩");
scanf("%f",&p->bs);fflush(stdin);
printf("请输入上机成绩");fflush(stdin);
scanf("%f",&p->sj);
if(p->bs<=100&&p->sj<=100&&p->bs>=0&p->sj>=0) break;
}
}
void putscore(struct score *p)
{
printf("%s %f %f",p->xh,p->bs,p->sj);
}
main()
{
struct score *su=(struct score*)malloc(sizeof(struct score));
getscore(su);
putscore(su);
}两种错误:
一个就是用指针引用成员变量的时候,->后面的>没有写
另一个就是输入学号的字符串的时候,用gets就可以了,用scanf一个一个输字符,每次还要fflush(stdin)的。
#include
struct score
{char xh[10];
float bs;
float sj;
}*su;
void getscore(struct score *p)
{
int i;
printf("请输入学号");
gets(p->xh);
fflush(stdin);
while(1)
{
printf("请输入笔试成绩");
scanf("%f",&p->bs);fflush(stdin);
printf("请输入上机成绩");fflush(stdin);
scanf("%f",&p->sj);
if(p->bs<=100&&p->sj<=100&&p->bs>=0&p->sj>=0) break;
}
}
void putscore(struct score *p)
{
printf("%s %f %f",p->xh,p->bs,p->sj);
}
main()
{
struct score *su=(struct score*)malloc(sizeof(struct score));
getscore(su);
putscore(su);
}两种错误:
一个就是用指针引用成员变量的时候,->后面的>没有写
另一个就是输入学号的字符串的时候,用gets就可以了,用scanf一个一个输字符,每次还要fflush(stdin)的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯