C语言中,如何用键盘初始化结构体数组里的元素?

struct student
{
int num;
char name[20];
char sex;
int age;
float score[3];
int class;
};
struct student stu[3];
我定义了这个结构体数组后不知道怎样用健盘初始化,要分别把三个人的数据输进去。

for (int i=0; i<3; i++)
{
scanf("%d", &(stu[i].num));
fflush(stdin);
scanf("%s", stu[i].name);
scanf(" %c", &(stu[i].sex)); //%c前一定要有空格
scanf("%d", &(stu[i].age));
for (int j=0; j<3; j++)
scanf("%f", &(stu[i].score[j]));
scanf("%d", &(stu[i].class));
}

取地址符前的括号可以不要,要更加清晰。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-14
for(i=0;i<3;i++)
{
scanf("%s%s%d%f%d",&stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].score,&stu[i].class);
}
补充一下 sex应该用字符串输入,不过要是非要用字符输入的话也可以 里面用%c格式
第2个回答  2011-06-14
循环scanf3次,stu[0].num。。。应该可以吧!仅供参考!
相似回答