信息的输入输出问题,编译器没报错,结构不对,求大佬解释一下
[code]#include<stdio.h>struct person{ //个人信息结构体
int num;
char name[10];
char sex;
char job;
union{
int clas;
char position[10];
}category;
}person[1];
//输入数据函数
void Cin(struct person person1){
scanf("%d%d%c%c",&person1.num,&person1.name,&person1.sex,&person1.job);
}
//输出数据函数
void Cout(struct person person){
printf("%d,%d,%c,%c",person.num,person.name,person.sex,person.job);
}
//主函数
int main(){
int i;
for(i=1;i<3;i++){
printf("请输入这个人的数据\n");
Cin(person[i]);
if(person[i].job=='s'){ //如果为学生就输入编辑号
scanf("%d",&person[i].category.clas);
}else if(person[i].job=='t'){ //如果是老师就输入所教科目
scanf("%c",&person[i].category.position);
}else{ //其他输出报错
printf("error input!\n");
}
}
printf("\n");
printf("No. name sex job class/position\n"); //输出学生数据
for(i=0;i<3;i++){
if(person[i].job=='s'){
Cout(person[i]);
printf("%d\n",person[i].category.clas);
}else{
Cout(person[i]); //输出老师数据
printf("%s\n",person[i].category.position);
}
}
return 0;
}[code]