急求回答“结构体里面套结构体数组时怎样定义及怎样输出结构体数组中的元素”

时间:2022-08-30 19:39:18
struct book 
{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);
}

#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);
   

  }





#5


引用 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);
   

  }


可以  不过应该是 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);
}

#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);
   

  }





#5


引用 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);
   

  }


可以  不过应该是 scanf("%d%s%s",&stu[i].suba[j].num,stu[i].suba[j].bkn,stu[i].suba[j].writer);