为什么不能实现信息的输入?提示是section下有红线,求改正。谢谢

#include
#include
#include
#define N 10
union department
{
int cls;
char office[10];
};
struct people
{
char name[10];
int age;
char job;
union deparment section;
}men[N];

int main()
{
int i;
for(i=0;i<N;i++)

{
printf("input name,age,job and deparment\n");
gets(men[i].name);
scanf("%d %c",&men[i].age,&men[i].job);
if(men[i].job=='s')
scanf("%d",&men[i].section.cls);
else
gets(men[i].section.office);
}
printf("name\tage job class/office\n");
for(i=0;i<N;i++)
{
if(men[i].job=='s')
printf("%s\t%3d %3c %d\n",men[i].name,men[i].age,men[i].job,men[i].section.cls);
else
printf("%s\t%3d %3c %s\n",men[i].name,men[i].age,men[i].job,men[i].section.cls);
}

system("pause");
}

scanf("%d %c",&men[i].age,&men[i].job);改成scanf("%d %c",&men[i]->age,&men[i]->job);