#include
#include
struct
{
int num;
char name[20];
char sex;
char job;
union
{
int classno;
char position[10];
}type;
}person[2];
void main()
{
int i;
for(i=0;i<2;i++)
{
printf("input teach or student:");
scanf("%s,%d,%s,%c,",&person[i].job,&person[i].num,person[i].name,&person[i].sex);
if(person[i].job=='a')
{
printf("input classno:");
scanf("%d",&person[i].type.classno);
}
else
if(person[i].job=='t')
{
printf("input job:");
scanf("%s",person[i].type.position);
}
else
{
printf("error!");
}
}
printf("\n");
for(i=0;i<2;i++)
{
if(person[i].job=='a')
{
printf("%d ",person[i].num);
printf("%s ",person[i].name);
printf("%c ",person[i].sex);
printf("%c ",person[i].job);
printf("%d\n",person[i].type.classno);
}
if(person[i].job=='t')
{
printf("%d ",person[i].num);
printf("%s ",person[i].name);
printf("%c ",person[i].sex);
printf("%c ",person[i].job);
printf("%s\n",person[i].type.position);
}
}
}
第22行里:scanf("%s,%d,%s,%c,",&person[i].job,&person[i].num,person[i].name,&person[i].sex); 输入语句里各参数间不要用 ','逗号间隔,改为用空格间隔即可,输入语句改为:scanf(" %c %d %s %c",&person[i].job,&person[i].num,person[i].name,&person[i].sex); 即可。
#include <stdio.h>
#include<string.h>
struct
{
int num;
char name[20];
char sex;
char job;
union
{
int classno;
char position[10];
}type;
}person[2];
void main()
{
int i;
for(i=0;i<2;i++)
{
printf("input teach or student:");
scanf(" %c %d %s %c",&person[i].job,&person[i].num,person[i].name,&person[i].sex);
//scanf("%s,%d,%s,%c,",&person[i].job,&person[i].num,person[i].name,&person[i].sex);修改
if(person[i].job=='a')
{
printf("input classno:");
scanf("%d",&person[i].type.classno);
}
else
if(person[i].job=='t')
{
printf("input job:");
scanf("%s",person[i].type.position);
}
else
{
printf("error!");
}
}
printf("\n");
for(i=0;i<2;i++)
{
if(person[i].job=='a')
{
printf("%d ",person[i].num);
printf("%s ",person[i].name);
printf("%c ",person[i].sex);
printf("%c ",person[i].job);
printf("%d\n",person[i].type.classno);
}
if(person[i].job=='t')
{
printf("%d ",person[i].num);
printf("%s ",person[i].name);
printf("%c ",person[i].sex);
printf("%c ",person[i].job);
printf("%s\n",person[i].type.position);
}
}
}
这里4个逗号,你没一模一样输入4个,你键盘只输入3个
scanf("%s,%d,%s,%c,"