Prog#222: merge two files

/*
merge two files
Program#222
*/
#include<stdio.h>
main(int argc,char *argv[])
{
int p,q,r,i;
char a;
if(argc!=4)
{
printf("error: no.of arg");
return 0;
}
p=open(argv[1], 0);
if(p==-1)
{
printf("file open error");
return 0;
}
q=open(argv[2], 0);
if(q==-1)
{
printf("file open error");
return 0;
}
r=open(argv[3], 1);
if(r==-1)
{
printf("file open error");
return 0;
}
i=read(p,&a,1);
while(i>0)
{
i=write(r,&a,1);
i=read(p,&a,1);
}
i=read(q,&a,1);
while(i>0)
{
i=write(r,&a,1);
i=read(p,&a,1);
}
close(p);
close(q);
close(r);
}