能运行所需答案,但为什么会出现不必要的奇怪文字呢

#include<stdio.h>
#define N 2
void main()
{struct employee
{int num;
int swage;
char name[20];
char sex[20];
}emp[N];
int i;
int sum=0;
float aver=0;
for(i=0;i<N;i++)
{printf("num:");
scanf("%d",&emp[i].num);
printf("swage:");
scanf("%d",&emp[i].swage);
printf("name:");
scanf("%s",&emp[i].name);
printf("sex:");
scanf("%s",&emp[i].sex);

sum+=emp[i].swage;
aver=sum/(N*1.00);
}
printf("%f\n",aver);
for(i=0;i<N;i++)
if(emp[i].swage>aver)
printf("%s\t%d\t%s\t",emp[i].name,emp[i].swage);
else 
printf("ok");

}

供参考:

#include<stdio.h>
#define N 2
void main()
{
   struct employee
   {
      int num;
      int swage;
      char name[20];
      char sex[20];
   }emp[N];
   int i;
   int sum=0;
   float aver=0;
   for(i=0;i<N;i++)
   {
      printf("num:");
      scanf("%d",&emp[i].num);
      printf("swage:");
      scanf("%d",&emp[i].swage);
      printf("name:");
      scanf("%s",emp[i].name); //scanf("%s",&emp[i].name);
      printf("sex:");
      scanf("%s",emp[i].sex); //scanf("%s",&emp[i].sex);
      sum+=emp[i].swage;
   }
   aver=sum/(N*1.00);
   printf("aver=%f\n",aver);
   for(i=0;i<N;i++)
      if(emp[i].swage>aver)
         printf("%s\t%d\n",emp[i].name,emp[i].swage);
         //printf("%s\t%d\t%s\t",emp[i].name,emp[i].swage);
      //else
      //   printf("ok");
}