構造体と共用体--先生と学生を含むいくつかの人のデータがあります:学生のデータは含みます:学号、名前、クラス;先生のデータには学号、名前、職務が含まれています.

8533 ワード

コード領域
構造体には共通体が含まれており、先生と学生の異なるデータを入力し、出力します.
#include
struct n
{
 int num;
 char name[10];
 char job;
 union
 {
  int Class;
  char position[10];
 }category;
}person[2];

main()
{
int i;
for(i=0;i<2;i++)
{
	printf("input the data
"
); scanf("%d %s %c",&person[i].num,person[i].name,&person[i].job); // if(person[i].job=='s') { printf("input Class
"
); scanf("%d",&person[i].category.position); } else if(person[i].job=='t') { printf("input position
"
); scanf("%s",person[i].category.position); // } else printf("data error
"
); }; for(i=0;i<2;i++) { if(person[i].job=='s') printf("%-5d %-10s %-4c %-10d
"
,person[i].num,person[i].name,person[i].job,person[i].category.Class); else printf("%-5d %-10s %-4c %-10s
"
,person[i].num,person[i].name,person[i].job,person[i].category.position); } }