// 谭书 c程序设计第二版
//p290 输入一个学生和老师的数据,并输出。
//vc运行错误
#include <stdio.h>
struct // 结构体
{
int num;
char name[10];
char sex;
char job;
union //共用体
{
int cla;
char position[10];
}category;
}person[2];
main() //主函数
{
int i;
for(i=0;i<2;i++) // 输入
{
scanf("%d%s%c%c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
if(person[i].job=='s') //共用体 条件输入
scanf("%d",&person[i].category.cla);
else if(person[i].job=='t')
scanf("%s",person[i].category.position);
else printf("input ERROR!");
} //问题就出在这部分的for循环上
printf("\n NO. Name sex job class/position\n");
for(i=0;i<2;i++) //输出
{
if(person[i].job=='s')
printf("%-6d %-10s %-3c %-3c %-6d\n",person[i].num,person[i].name,person[i].
sex,person[i].job,person[i].category.cla);
else if(person[i].job=='t')
printf("%-6d %-10s %-3c %-3c %-6s\n",person[i].num,person[i].name,person[i].
sex,person[i].job,person[i].category.position);
else printf("output ERROR due to input ERROR!");
}
return 0;
}
按照书上输入
101 li f s 501 enter
结果却不一样,唉!
求达人指教!