这个有关C语言文件处理问题
想A,B文件各输入一个字符串,然后将两个文件的字符串输出给C文件,并排序。请问下面这个程序有些什么问题
#include<stdio.h>
#include<stdlib.h>
#define NULL 0
void px_(char *p, int n) //字符串排序
{
int i, j;
char temp;
for(i=0;i<n;i++,p++)
{
for(j=0;j<n-i-1;j++)
{
if( (*(p+j)) > (*(p+j+1)) )
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
}
int main()
{
FILE *p1=NULL, *p2=NULL, *p3=NULL;
char ch1, ch2, str[100];
int i;
if((p1=fopen("A.c", "w"))==NULL)
{
printf("can't open A file\n");
exit(0);
}
if((p2=fopen("B.c", "w"))==NULL)
{
printf("can't open B file\n");
exit(0);
}
if((p3=fopen("C.c", "w"))==NULL)
{
printf("can't open C file\n");
exit(0);
}
printf("please input the string to A:\n");
ch1=getchar();
i=0;
str[i]=ch1;
while(ch1!='@')
{
fputc(ch1, p1);
ch1=getchar();
i++;
str[i]=ch1;
}
ch2=getchar();
str[i]=ch2;
printf("please input the string to B:\n");
while(ch2!='@')
{
fputc(ch2, p2);
ch2=getchar();
i++;
str[i]=ch2;
}
str[i]='\0';
px_(str, i-1);
i=0;
while(str[i]!='\0')
{
fputc(str[i], p3);
}
return 0;
}