#include<stdio.h>
struct set { int num; int fenpei; char xing[10]; char ming[15];}; //声明结构体set
struct plane { int num; struct set sets[10];}; //声明结构体plane,其中包含了结构体set类型的sets数组
int main()
{
struct plane planes[5];
}
请问如何初始化planes[0]、planes[1]、planes[2]、planes[3]、planes[4]?
如何初始化planes中的sets?
相当于结构体里套结构体,初始化的时候也嵌套就行了
struct plane pl={1,{1,2,李,明}}
其中一种方式,可以像这样写
1 #include<stdio.h> 2 3 //声明结构体set 4 struct set 5 { 6 int num; 7 int fenpei; 8 char xing[10]; 9 char ming[15]; 10 }; 11 12 //声明结构体plane,其中包含了结构体set类型的sets数组 13 struct plane 14 { 15 int num; 16 struct set sets[10]; 17 }; 18 int main(){ 19 int i ,j; 20 struct plane planes[5]; 21 for(i = 0; i< 5 ;i++) 22 { 23 scanf("%d",&planes[i].num); 24 for(j = 0;j<10 ;j++) 25 { 26 scanf("%d",&planes[i].sets[j].num); 27 scanf("%d",&planes[i].sets[j].fenpei); 28 scanf("%s",planes[i].sets[j].xing); 29 scanf("%s",planes[i].sets[j].ming); 30 } 31 } 32 return 0; 33 }