Prog#183: read from file until not EOF

/*
read from file until not EOF
Program#183
*/
#include<stdio.h>
main(int argc,char *argv[])
{
typedef struct bio
{
char name[20], addr[20];
int age;
float salary;
}BIO;
BIO a;
FILE *fp;
if(argc!=2)
{
printf("error. no.of arg");
return 0;
}
fp=fopen (argv[1], "r");
if(fp==NULL)
{
printf("file open error");
return 0;
}
while((feof(fp))==0)
{
fscanf(fp, "%s %d %f %s", &a.name, &a.age, &a.salary, &a.addr);
printf("%s %d %f %s", a.name, a.age, a.salary, a.addr);
}
fclose (fp);
}