大半天了,找不到输出错误,头痛
输出结果和输入结果不一致,都几个小时了,不这到什么问题,大家帮忙看看,谢谢#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Information
{
long num;
char name[10];
char sex;
char job[10];
union
{
int clas;
char position[10];
}category;
}info[2];
int main()
{
for(int i=0;i<2;i++)
{ printf("请输入学号/教师号、姓名、性别、职业\n");
scanf("%ld %s %c %s",&info[i].num,info[i].name,&info[i].sex,info[i].job);
if(strcmp(info[i].job,"学生")==0)
{
printf("你的职业是学生,请输入班级\n");
scanf("%d",&info[i].category.clas);
}
else if(strcmp(info[i].job,"教师")==0)
{
printf("你的职业是老师,请输入课程老师\n");
scanf("%s",info[i].category.position);
}
else
printf("输入错误!\n");
}
for(int i=0;i<2;i++)
{
if(strcmp(info[i].job,"学生"))
printf("%ld%10s%4c%6s%6d\n",info[i].num,info[i].name,info[i].sex,info[i].job,info[i].category.clas);
else if(strcmp(info[i].job,"教师"))
printf("%ld%10s%4c%6s%6s\n",info[i].num,info[i].name,info[i].sex,info[i].job,info[i].category.position);
}
}