这个程序是什么地方出了问题吗,运行不了

#include <stdio.h>

main()

{ char c1,c2;

   int i;

   FILE*fp1,*fp2;

   if ((fp1=fopen("E:\\f1.txt","w+"))==NULL)

   { printf("Can't open f1.txt.\n"); exit(0); }

      if((fp2=fopen("E:\\f2.txt","w"))==NULL;

   { printf("Can't open f2.txt\n");exit(0);}

   for (i=0;i<3;i++)

   { scanf("%c%*c",&c1); putc(c1,fp1); }

   for (i=0;i<3;i++)

   { scanf("%c%*c",&c2); putc(c2,fp2);}

   fputc(0xff,fp1);

   fclose(fp2);

      rewind(fp1);

   if((fp2=fopen("E:\\f2.txt","a"))==NULL)

   { printf("Can't open f2.txt.\n");exit(0); }

   while((c1=getc(fp1))!=EOF)

   { putc(c1,fp2); }

   fputc(0xff,fp2);

   fclose(fp2);

   fclose(fp1);

   printf("f2.txt file output : \n")

   fp2=fopen("E:\\f2.txt","r"):

   while((c1=getc(fp2))!=EOF) { printf("%c",c1); }

   printf("\n");

   flcose(fp2);

   system("pause");

   

 

}

main()
{
	char c1, c2;
	int i;
	FILE*fp1, *fp2;
	if ((fp1 = fopen("E:\\f1.txt", "w+")) == NULL)
	{
		printf("Can't open f1.txt.\n"); 
		exit(0);
	}
	if ((fp2 = fopen("E:\\f2.txt", "w")) == NULL)
	{ 
		printf("Can't open f2.txt\n"); 
		exit(0); 
	}
	for (i = 0; i < 3; i++)
	{
		scanf("%c%*c", &c1); 
		putc(c1, fp1);
	}
	for (i = 0; i < 3; i++)
	{
		scanf("%c%*c", &c2); 
		putc(c2, fp2);
	}
	fputc(0xff, fp1);
	fclose(fp2);
	rewind(fp1);
	if ((fp2 = fopen("E:\\f2.txt", "a")) == NULL)
	{
		printf("Can't open f2.txt.\n"); 
		exit(0);
	}
	while ((c1 = getc(fp1)) != EOF)
	{
		putc(c1, fp2);
	}
	fputc(0xff, fp2);
	fclose(fp2);
	fclose(fp1);
	printf("f2.txt file output : \n");
	fp2 = fopen("E:\\f2.txt", "r");
	while ((c1 = getc(fp2)) != EOF)
	{ 
		printf("%c", c1);
	}
	printf("\n");
	fclose(fp2);
	system("pause");

}

不确定是void main()还是main()

修改如下,供参考,望采纳:

#include <stdio.h>

main()

{
   char c1,c2;

   int i;

   FILE*fp1,*fp2;

   if ((fp1=fopen("E:\\f1.txt","w+"))==NULL)

   {
       printf("Can't open f1.txt.\n");
       exit(0);
   }

   if((fp2=fopen("E:\\f2.txt","w"))==NULL)//;

   {
       printf("Can't open f2.txt\n");
       exit(0);
   }

   for (i=0;i<3;i++)

   {
       scanf("%c%*c",&c1);
       fputc(c1,fp1); ////putc(c1,fp1);
   }

   for (i=0;i<3;i++)

   {
       scanf("%c%*c",&c2);
       fputc(c2,fp2);  //putc(c2,fp2);
   }

   fputc(0xff,fp1);

   fclose(fp2);

   rewind(fp1);

   if((fp2=fopen("E:\\f2.txt","a"))==NULL)

   {
       printf("Can't open f2.txt.\n");
       exit(0);
   }

   while((c1=getc(fp1))!=EOF)

   {
       fputc(c1,fp2);  // putc(c1,fp2);
   }

   fputc(0xff,fp2);

   fclose(fp2);

   fclose(fp1);

   printf("f2.txt file output : \n");

   fp2=fopen("E:\\f2.txt","r");//:

   while((c1=getc(fp2))!=EOF) {
          printf("%c",c1);
   }

   printf("\n");

   fclose(fp2);//flcose(fp2);

   system("pause");
}

 

代码修改如下:

错误在代码中添加了说明,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <process.h>  //修改:exit()需要这个头文件

void main()
{
	char c1,c2;
	int i;
	FILE*fp1,*fp2;
	if ((fp1=fopen("E:\\f1.txt","w+"))==NULL)
	{
		printf("Can't open f1.txt.\n"); 
		exit(0); 
	}

	if((fp2=fopen("E:\\f2.txt","w"))==NULL)  //修改:这个地方漏了以右括号),最后多了一个分号;
	{
		printf("Can't open f2.txt\n");
		exit(0);
	}

	for (i=0;i<3;i++)
	{
		scanf("%c%*c",&c1); 
		putc(c1,fp1); 
	}

	for (i=0;i<3;i++)
	{ 
		scanf("%c%*c",&c2); 
		putc(c2,fp2);
	}

	fputc(0xff,fp1);
	fclose(fp2);
	rewind(fp1);

	if((fp2=fopen("E:\\f2.txt","a"))==NULL)
	{ 
		printf("Can't open f2.txt.\n");
		exit(0); 
	}

	while((c1=getc(fp1))!=EOF)
	{ putc(c1,fp2); }

	fputc(0xff,fp2);
	fclose(fp2);
	fclose(fp1);
	printf("f2.txt file output : \n");//修改,这个地方漏了一个分号
	fp2=fopen("E:\\f2.txt","r");//修改,这个地方不是冒号,应该是分号
	while((c1=getc(fp2))!=EOF) { printf("%c",c1); }
	printf("\n");
	fclose(fp2);  //修改flcose
	system("pause");
}