C语言 结构体中的数组从屏幕输入出问题,求解!!下面只把涉及的部分拿出来了

无论存进stu_[i].score[j]的是多少,输出结果都是0.0000000
2024-12-01 01:04:56
推荐回答(1个)
回答(1):

1、如果从标准输入中输入,只有挨个输入每个结构体对象的成员。如果从文件输入,则可以用fread函数直接读入整个对象。

2、例程:
#include
struct student
{
int num;
char name;
int score[3];
};
void main()
{
void print(struct student);
struct student stu[5];
int i;

for(i=0;i<5;i++) //问题在%c前要一个空格,还有少了&
{

scanf("%d %c%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
printf("输入完成\n");
for(i=0;i<5;i++)

print(stu[i]);
}
void print(struct student stu)
{
printf("%d%c%d%d%d\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);
}