BUG关于结构体中联合体数组循环遍历的问题
题目:
调试程序:设有一个教师与学生通用的表格,教师的数据有姓名、年龄、职业、教研室四项,学生有姓名、年龄、专业、班级四项,编程输入人员的数据,再以表格输出。
问题代码
#include <stdio.h>
#define N 10
struct student
{
char name[8]; /*姓名*/
int age; /*年龄*/
char job; /*职业或专业,用s或t表示学生或教师*/
union
{
int class[5]; /*班级*/
char office[10]; /*教研室*/
} depa;
} stu[N];
int main()
{
int i;
int n;
printf("\n请输入人员数(< 10):\n");
scanf("%d", &n);
for (i = 0; i < n; i++)
{
/*输入n个人员的信息*/
printf("\n请输入第%d人员的信息:(name age job class/office)\n", i + 1);
scanf("%s,%d,%c", &stu[i].name, &stu[i].age, &stu[i].job);
if (stu[i].job == 's')
scanf("%d", &stu[i].depa.class);
else
scanf("%s", &stu[i].depa.office);
}
printf("name age job class / office\n");
for (i = 0; i < n; i++)
{
/*输出*/
if (stu[i].job == 's')
printf("%s %3d %3c %d\n", stu[i].name, stu[i].age, stu[i].job, stu[i]