Вопрос по C

Вопрос по C.
Программа работает, но не выполняет запись в указанный файл, в чём может быть заковыка в коде?

#include
#include
#include
#include
void main()
{
clrscr();
FILE *f1,*f2;
int c,p=0;
char *n1, *n2;
n1=(char *) malloc(13);
n2=(char *) malloc(13);
printf("enter old name of filen");
scanf("%s",n1);
printf("input new name of filen");
scanf("%s",n2);
if(f1==fopen(n1,"r")!=NULL)
{
printf("file f1 is openn");
p=1;
}
if(f2==fopen(n2,"w")!=NULL)
{
printf("file f2 open for writen");
p+=1;
}
if(p==2)
{
printf("you may copyn");
while(c==getc(f1)!=EOF) putc(c,f2);
}
fclose(f1); fclose(f2);
}

  • c = getc. Лишнее сравнение, а не присваивание.