{int num;
char bkn[10];
char writer[10];
}book;
struct student
{ int num,
char name[10];
char address[20];
book [] suba;
}stu[M];
上面结构体里面套结构体数组对吗???
这是学生数组里面套一个关于书的数组,我怎样才能输出书的数组,我们正在做课程设计急求答案,请大家帮帮忙
5 个解决方案
#1
book [] suba;
应该是book suba[MAX_PATH].
输出的话就正常循环输出喽
比如你的当前学生对象是stu
MAX_NUM是输的本书
for (int i=0; i<MAX_NUM; i++)
{
printf("%d-$s-$s",stu.suba[i].num,stu.suba[i].bkn,stu.suba[i].writer);
}
应该是book suba[MAX_PATH].
输出的话就正常循环输出喽
比如你的当前学生对象是stu
MAX_NUM是输的本书
for (int i=0; i<MAX_NUM; i++)
{
printf("%d-$s-$s",stu.suba[i].num,stu.suba[i].bkn,stu.suba[i].writer);
}
#2
//比如学生对象
student s;
//取书的属性的话
s.suba[].num;
s.suba[].bkn;
s.suba[].writer;
#3
别想着内嵌的什么结构体,其实即和普通数组一样,一路"..."下去就行了
#4
如果学生数组也是结构体的话,输入书的结构体数组可以循环里面套循环吗,也就是
for(i=0;i<size;i++)
{
for(j=0;j<M;j++)
scanf("%d%s%s",stu.suba[j].num,stu.suba[j].bkn,stu.suba[j].writer);
}
for(i=0;i<size;i++)
{
for(j=0;j<M;j++)
scanf("%d%s%s",stu.suba[j].num,stu.suba[j].bkn,stu.suba[j].writer);
}
#5
可以 不过应该是 scanf("%d%s%s",&stu[i].suba[j].num,stu[i].suba[j].bkn,stu[i].suba[j].writer);
#1
book [] suba;
应该是book suba[MAX_PATH].
输出的话就正常循环输出喽
比如你的当前学生对象是stu
MAX_NUM是输的本书
for (int i=0; i<MAX_NUM; i++)
{
printf("%d-$s-$s",stu.suba[i].num,stu.suba[i].bkn,stu.suba[i].writer);
}
应该是book suba[MAX_PATH].
输出的话就正常循环输出喽
比如你的当前学生对象是stu
MAX_NUM是输的本书
for (int i=0; i<MAX_NUM; i++)
{
printf("%d-$s-$s",stu.suba[i].num,stu.suba[i].bkn,stu.suba[i].writer);
}
#2
//比如学生对象
student s;
//取书的属性的话
s.suba[].num;
s.suba[].bkn;
s.suba[].writer;
#3
别想着内嵌的什么结构体,其实即和普通数组一样,一路"..."下去就行了
#4
如果学生数组也是结构体的话,输入书的结构体数组可以循环里面套循环吗,也就是
for(i=0;i<size;i++)
{
for(j=0;j<M;j++)
scanf("%d%s%s",stu.suba[j].num,stu.suba[j].bkn,stu.suba[j].writer);
}
for(i=0;i<size;i++)
{
for(j=0;j<M;j++)
scanf("%d%s%s",stu.suba[j].num,stu.suba[j].bkn,stu.suba[j].writer);
}
#5
可以 不过应该是 scanf("%d%s%s",&stu[i].suba[j].num,stu[i].suba[j].bkn,stu[i].suba[j].writer);