//题目:有两个磁盘文件A和B,各存放一行字母,
//要求把这两个文件中的信息合并(按字母顺序排列),
//输出到一个新文件C中。
#include<stdio.h>
#include<string.h>
main()
{
FILE *pa,*pb,*pc;
char a[80],b[80],ch;
int i,j,n;
n=0;
pa=fopen("a,txt","r");
pb=fopen("b.txt","r");
pc=fopen("c.txt","w");
fgets(a,81,pa);
fgets(b,81,pb);
fclose(pa);
fclose(pb);
strcat(a,b);
n=strlen(a);
for(i=0;i<n;i++){
for(j=0;j<n-1;j++){
if(a[j]>a[j+1]){
ch=a[j];
a[j]=a[j+1];
a[j+1]=ch;
}
}
}
fputs(a,pc);
fclose(pc);
}
//请问我的程序那里出现了问题,谢谢~~
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
main()
{
FILE *pa,*pb,*pc;
char a[80],b[80],ch={0};
int i,j,n;
n=0;
pa=fopen("a.txt","r");
pc=fopen("c.txt","w");
fgets(a,80,pa);
fclose(pa);
pb=fopen("b.txt","r");
fgets(b,80,pb);
fclose(pb);
strcat(a,b);
n=strlen(a);
for(i=0;i<n;i++){
for(j=0;j<n-1;j++){
if(a[j]>a[j+1]){
ch=a[j];
a[j]=a[j+1];
a[j+1]=ch;
}
}
}
fputs(a,pc);
fclose(pc);
}
----------------解决方案--------------------------------------------------------
请问为什么这样修改就可以了.另外ch={0};是什么意思?
----------------解决方案--------------------------------------------------------
我明白了,是pa=fopen("a,txt","r");中的,错了......
----------------解决方案--------------------------------------------------------
逗号
----------------解决方案--------------------------------------------------------
ok
----------------解决方案--------------------------------------------------------