有关文件的C语言题 求大神帮看下程序哪有问题 谢谢!
题目:有2个磁盘文件“A”和“B”,各存放一行字母,今要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。
我自己编的代码如下:
程序代码:
#include <stdio.h> #include <stdlib.h> void main() { FILE * fp_A,*fp_B,*fp_C; fp_A=fopen("A.txt","r"); fp_B=fopen("B.txt","r"); fp_C=fopen("C.txt","w+"); char a[20],b[20],c[20]; fscanf (fp_A,"%s",a); fscanf (fp_B,"%s",b); int i=0,j; char k,min; for (i=0;a[i]!=0;i++) { c[i]=a[i]; } k=i; for (i=i;b[i-k]!=0;i++) { c[i]=b[i-k]; } min=c[0]; for (i=1;c[i]!='\0';i++) { for (j=i;c[j]!='\0';j++) if (min>a[j]) { min=a[j]; a[j]=a[i]; a[i]=min; } } for (i=0;c[i]!='\0';i++) { fprintf(fp_C,"%c",c[i]); } if (fp_A==NULL) {printf ("can't open A\n");exit(1);} if (fp_B==NULL) {printf ("can't open B\n");exit(1);} else { fclose (fp_A); fclose (fp_B); fclose (fp_C); } }