请帮我看一下这个程序有什么错误!!c语言的!关于职工档案及简明信息的!

来源:百度知道 编辑:UC知道 时间:2024/07/04 12:47:48
因为程序太长了,我把一部分省略了
#define N 10
struct wkrs
{char num[10];
char name[20];
char sex;
int age;
}worker[N];
struct wks
{char name_srt[20];
int age_srt;
}wkshort[N];
void readin()
{int i;
char name[20];
printf("\n\tPlease input worker's message :\n");
for(i=0;i<N;i++)
{printf("\tnumber: ");
scanf("%s",worker[i].num);
printf("\tname: ");
gets(name);
strcpy(worker[i].name,name);
printf("\tsex: ");
scanf("%c",&worker[i].sex);
printf("\tage: ");
scanf("%d",&worker[i].age);}
printf("\n\tEnd of input the message.\n\n");}
void display(struct wkrs *p)
{int i;
p=worker;
printf("\tWorkers' message:\n");
printf("%10s\t%10s\

因为gets遇到回车符就会结束!上一条命令虽然执行完了,但回车符还是留在缓存中。所以用一个getchar()接收回车符就可以了。。。

输入完编号后在后面加一个getchar()接收回车符就好了哈
呵呵