|
初次使用结构体,写了一个程序,编译、连结都正常。只是结果与输入的不同,多了一些东西,找了半天,搞不清那里的问题,请指点。
#include "stdio.h"
struct person{
char name[20];
char sex[20];
int age;
};
struct student{
int number;
int score;
struct person roommate;
};
void main()
{
int i;
struct student myroommate[4];
printf("----------------计科系三班---------------------\n");
printf("请输入你宿舍成员的学号、成绩、姓名、性别、年龄:\n");
printf("-----------注意输入各个部分以','分开-----------\n");
for(i=0;i<4;i++)
{
scanf("%d,%d,%s,%s,%d",
&myroommate[i].number,
&myroommate[i].score,
&myroommatei].roommate.name,
&myroommatei].roommate.sex,
&myroommate[i].roommate.age);
}
printf("宿舍成员的学号、成绩、姓名、性别、年龄分别是:\n");
for(i=0;i<4;i++)
{
printf("%d, %d, %s, %s, %d\n",
myroommate[i].number,myroommate[i].score,
myroommate[i].roommate.name,
myroommate[i].roommate.sex,
myroommate[i].roommate.age);
}
}
输出结果是每一行多了一些乱码.
|
|