(1)不能将结构体变量作为整体进行输入输出 printf(" %od,%s.%c,%d,%f%smn”, student i为 引用方式:结构体变量名成员名。如: studentI,num 结构体变量名成 成员名 员运算符
printf(“%d,%s,%c,%d,%f,%s\n”,student1); 引用方式:结构体变量名.成员名。如: student1.num 结构体变量名 成 成员名 员 运 算 符 (1)不能将结构体变量作为整体进行输入输出
如果成员本身又是一个结构体类型,则要用成员 运算符一级一级地找到最低一级的成员 正确引用 struct date struct student student1 num int month: int num studentI birthday day int day char name 20] Int year; char sex Int age; struct date birthday char addr301 S student l, student2
如果成员本身又是一个结构体类型,则要用成员 运算符一级一级地找到最低一级的成员 struct student {int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }student1,student2; struct date {int month; int day; int year; }; 正确引用: student1.num student1.birthday.day
student2 score=student1, score sum=student1 score+student2 score studentI age++, ++student2 birthday year, “”的优先级最高
student2.score=student1.score; sum=student1.score+student2.score; student1.age+ +; + +student2.birthday.year; “ . ”的优先级最高
可以 scanf( %od, &studentI num) printf( %o, &student2) 不可以 scanf(%od%os%oc%od%of%os, &student)
可以: scanf(“%d”,&student1.num); printf(“%o”,&student2); 不可以: scanf(“%d%s%c%d%f%s”,&student1);
struct student No.:89031 flong int num name:Li Lin char name[20] sex: M char sex, address: 123 Beijing road char addr[30] Ba= 89031, Li Lin",M,123 Beijing Road") maino printf( No: %old nname: % os sex: oc addr ess: %oS n, a num, a name, asex, a addr); I
struct student {long int num; char name[20]; char sex; char addr[30]; }a={89031,"Li Lin",'M',"123 Beijing Road"}; main() {printf(“No.:%ld\nname:%s\nsex:%c\naddr ess:%s\n”,a.num,a.name,a.sex,a.addr);} No. :89031 name:Li Lin sex: M address: 123 Beijing Road